@charset "utf-8";

/* ---------------
	reset
--------------------*/
body, div, main,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
figure, pre, form, fieldset, textarea, p, blockquote, th ,td {
	margin: 0;
	padding: 0;
}

main {
	display: block;
}

ul{
	list-style-type: none;
}

table {
	line-height: 1.6;
	border: 0px;
	border-collapse:collapse;
	font-size: 1.6rem;
}

table th {
	font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	font-weight: normal;
}
textarea {
	padding: 2px 4px;
	font-size: 1.6rem;
	line-height: 1;
	color: #444;
}

input {
	vertical-align: middle;
	margin: 0;
	padding: 0;
	color: #444;
}

p {
	line-height: 1.5;
}

img {
	border: none;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
}

address {
	font-style:normal;
}

ul li {
	line-height: 1.4;
}

*,*::before,*::after{
	box-sizing: border-box;
}

em {
	font-style: normal;
}

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

input[type='search'] {
	-webkit-appearance: none;
}

/* ---------------
　　　共用
--------------- */

:root {
  --color_site: #2756b1;
  --color_blue: #2757b2;
  --color_text_blue: #3b65b8;
  --min-width: min(95%,1200px);
  --ft_9: 0.5625rem;
  --ft_10: 0.625rem;
  --ft_11: 0.6875rem;
  --ft_12: 0.75rem;
  --ft_13: 0.8125rem;
  --ft_14: 0.875rem;
  --ft_15: 0.9375rem;
  --ft_16: 1rem;
  --ft_17: 1.0625rem;
  --ft_18: 1.125rem;
  --ft_19: 1.1875rem;
  --ft_20: 1.25rem;
  --ft_21: 1.3125rem;
  --ft_22: 1.375rem;
  --ft_23: 1.4375rem;
  --ft_24: 1.5rem;
  --ft_25: 1.5625rem;
  --ft_26: 1.625rem;
  --ft_28: 1.75rem;
  --unit-space-lg: 100px;
  --unit-space-md: 60px;
  --unit-space-sm: 30px;
  --separator-lg: 100px;
  --separator-md: 60px;
  --separator-sm: 30px;
}

@media screen and (min-width: 768px) {

  :root {
    --unit-space-lg: 100px;
    --unit-space-md: 60px;
    --unit-space-sm: 30px;
    --separator-lg: 100px;
    --separator-md: 60px;
    --separator-sm: 30px;
  }

}

html {
	font-size: 100%;
	scroll-behavior: smooth;
}

body {
	font-size: 1rem;
	letter-spacing: 0.03em;
	line-height: 1;
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	-webkit-text-size-adjust: none;
	-webkit-print-color-adjust: exact;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	overflow-x: hidden;
}


a:link {
	border: none;
	color: #333;
	text-decoration: none;
	transition: all 0.1s ease;
}

a:visited {
	border: none;
	color: #333;
	text-decoration: none;
}

a:active {
	border: none;
	color: #333;
	text-decoration: none;
}

a:hover {
	border: none;
	color: #333;
	text-decoration: none;
	transition: all 0.1s ease;
}

:focus:not(:focus-visible) {
	outline: none;
}

@media screen and (min-width: 768px) {

	.alpha a:hover {
		filter: alpha(opacity=70);
		-moz-opacity:0.7;
		opacity:0.7;
		transition: opacity 0.25s ease 0s;
	}

	.alpha a {
		-webkit-transition: all 0.1s ease 0s;
		-moz-transition: all 0.1s ease 0s;
		transition: opacity 0.25s ease 0s;
	}

}

.sp {
	display: none;
}

.pc {
	display: block;
}

a[href^="tel:"] {
    text-decoration: none !important;
}

img.fit {
	width: 100%;
	height: auto;
}

img.trim_center {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

a[href^="no_large"] {
    pointer-events: none;
}

.ft_lato {
	font-family: "Lato", sans-serif;
	font-weight: 700;
	font-style: normal;
}

.wrapper {
	position: relative;
}

@media screen and (min-width: 768px) {

	.wrapper {
		padding-top: 100px;
	}

	.lg_2 .wrapper,
	.lg_1 .wrapper {
		padding-top: 200px;
	}

}

.entry_edit .wrapper {
  margin-top: 250px;
}

@media screen and (max-width: 767px) {

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.columnImage {
		width: 100%;
	}

}

a.nolink {
	cursor: default;
	text-decoration: none !important;
    pointer-events: none;
}

@media screen and (min-width: 1000px) {

	a[href^="tel:"] {
	    pointer-events: none;
	}

}

.main {
	padding-top: 55px;
}

.inner {
	margin-left: 20px;
	margin-right: 20px;
}

@media screen and (min-width: 768px) {

	.main {
		position: relative;
		padding-top: 0;
	}

	.lg_1 .main,
	.lg_2 .main {
	}

	.inner {
		margin-left: auto;
		margin-right: auto;
    	width: var(--min-width);
	}

	.utility_entry > .inner,
	.product_entry > .inner {
    	width: min(84%, 1200px);
	}


}

.center {
	text-align: center;
}


/* -----------------
	header
----------------- */

.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	height: 55px;
	overflow: hidden;
	z-index: 6;
}

.lg_2 .header,
.lg_1 .header {
	top: 100px;
}

.menu_open {
	overflow: hidden;
}

.menu_open .header {
	overflow: visible;
}

.header .logo {
	margin: 15px 20px;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.header .logo a {
	display: block;
	width: 81px;
}

.logo_text {
	margin: 0 0 0 20px;
	padding: 2px 4px;
	border: 1px solid #d0d3da;
	font-size: var(--ft_10);
	color: var(--color_site);
}

.logo_text span:first-child {
	margin-right: 4px;
	padding-right: 4px;
	border-right: 1px solid #d0d3da;
}

.header_gnavi {
	position: absolute;
	top: 55px;
	left: 0;
	width: 100%;
	transition: opacity 0.4s ease;
	transition: visibility 0.3s ease;
	opacity: 0;
	z-index: -1;
	visibility: hidden;
	background: #fff;
}

.header_gnavi::before {
	position: absolute;
	content: '';
	top: -10px;
	left: -50px;
	height: 10px;
	width: calc(100% + 100px);
	box-shadow: 0px 5px 6px -4px rgba(0, 0, 0, 0.2);
}

.menu_open .header_gnavi {
	opacity: 1;
	z-index: 110;
	visibility: inherit;
	transition: all 0.25s ease;
}

.header_gnavi ul {
	border-radius: 0 0 10px 10px;
}

.header_gnavi li {
	font-size: var(--ft_16);
	border-bottom: 1px solid #d9e1ef;
}

.header_gnavi li:last-child {
	border: none;
}

.header_gnavi li a {
	padding: 16px 20px 16px 35px;
	display: block;
	position: relative;
	background: url(../images/common/link_blue.svg) no-repeat right 20px center / 18px auto;
}

.header_gnavi li a::before {
	position: absolute;
	content: '';
	left: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 5px;
	height: 5px;
	background: #f6e154;
}

@media screen and (min-width: 768px) {

	.header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		background: #fff;
		box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
		height: 100px;
	}

	.header_gnavi::before {
		display: none;
	}

	.menu_open .header {
		overflow: visible;
		position: fixed;
		background: #fff;
	}

	.header .logo {
		margin: 25px;
	}

	.header .logo a {
		width: 162px;
	}

	.logo_text {
		margin: 0 0 0 25px;
		padding: 5px 8px;
		font-size: var(--ft_14);
	}

	.logo_text span:first-child {
		margin-right: 10px;
		padding-right: 10px;
	}

	.header_gnavi {
		display: block;
		width: auto;
		position: relative;
		opacity: inherit;
		z-index: 10;
		visibility: inherit;
		background: inherit;
		top: auto;
	}

	.header_gnavi ul {
		margin: 0 20px 0 0;
		display: flex;
		align-items: center;
	}

	.header_gnavi li {
		font-size: var(--ft_16);
		border: none;
	}

	.header_gnavi li a {
		padding: 30px 20px;
		background: none;
	}

	.header_gnavi li a::before {
		display: none;
	}

	.header_gnavi li a span {
		position: relative;
		white-space: nowrap;
	}

	.header_gnavi li a span::after {
		position: absolute;
		content: '';
		left: 0;
		bottom: -8px;
		width: 0;
		height: 1px;
		background: #2658b2;
		transition: all 0.25s ease 0s;
	}

	.header_gnavi li a:hover span::after {
		width: 25px;
	}

	.header_gnavi li a:hover {
		color: var(--color_site);
	}

}

@media screen and (min-width: 768px) and (max-width: 1159px) {

	.header_gnavi li a {
		padding: 30px 10px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1049px) {

	.header .logo {
		margin-left: 20px;
		margin-right: 10px;
	}

	.header .logo a {
		width: 130px;
	}

	.logo_text {
		margin: 0 0 0 20px;
		padding: 4px 6px;
		font-size: var(--ft_12);
	}

	.logo_text span:first-child {
		margin-right: 6px;
		padding-right: 6px;
	}

	.header_gnavi ul {
		margin-right: 10px;
	}

	.header_gnavi li {
		font-size: var(--ft_14);
	}

}

@media screen and (min-width: 768px) and (max-width: 909px) {

	.header .logo {
		flex-wrap: wrap;
		flex-direction: column;
	}

	.logo_text {
		margin: 5px 0 0;
		font-size: var(--ft_10);
	}

}


#menu_btn {
	margin: 0;
    padding: 0;
	width: 40px;
	height: 40px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	border: none;
	background: none;
	flex-shrink: 0;
	transition: all 0.25s ease;
}

#menu_btn span {
	display: block;
}

#menu_btn::before {
	top: 19px;
}

#menu_btn span::before {
	top: 12px;
}

#menu_btn::after {
	top: 26px;
}

#menu_btn::before,
#menu_btn::after,
#menu_btn span::before {
	margin: 0 auto;
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	width: 20px;
	height: 2px;
	background-color: var(--color_site);
	transition: all 0.25s ease;
}

.menu_open #menu_btn::before {
	display: none;
}

.menu_open #menu_btn span::before {
	top: 19px;
	transform: rotate(45deg);
}

.menu_open #menu_btn::after {
	top: 19px;
	transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {

	#menu_btn {
		display: none;
	}

}


#sp_menu_back {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	transition: opacity 0.4s ease;
	opacity: 0;
	z-index: -1;
	background: rgba(0, 0, 0, 0.5);
	height: 100dvh;
}

.menu_open #sp_menu_back {
	opacity: 1;
	z-index: 5;
}

/* -----------------
	トップ
----------------- */

.top_mv {
	height: 595px;
	width: 100%;
	position: relative;
}

.top_mv::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: 0;
	width: 100%;
	height: 600px;
	background: url(../images/top/mv_back_sp.png) no-repeat center bottom / 100% auto;
	z-index: 2;
}

.top_mv_box {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 500px;
	z-index: 1;
}

.top_mv_back {
	height: 500px;
	width: 100%;
}

.top_mv_back.mv_img1 {
	background: url(../images/top/top_main01_sp.jpg) no-repeat center center / cover;
}

.top_mv_back.mv_img2 {
	background: url(../images/top/top_main02_sp.jpg) no-repeat center center / cover;
}

@media screen and (min-width: 768px) {

	.top_mv {
		height: 825px;
		width: 100%;
		position: relative;
	}

	.top_mv::after {
		height: 245px;
		background: url(../images/top/mv_back_pc.png) no-repeat center top / 100% auto;
		z-index: 3;
	}

	.top_mv_box {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 700px;
	}

	.top_mv_back {
		height: 700px;
		width: 100%;
	}

	.top_mv_back.mv_img1 {
		background: url(../images/top/top_main01_pc.jpg) no-repeat center center / cover;
	}

	.top_mv_back.mv_img2 {
		background: url(../images/top/top_main02_pc.jpg) no-repeat center center / cover;
	}

}

@media screen and (min-width: 768px) and (max-width: 1719px) {

	.top_mv::after {
		height: 700px;
		background: url(../images/top/mv_back_pc.png) no-repeat center bottom / 100% auto;
	}

}

.top_mv_inner {
	margin: 0 20px;
	padding: 85px 0 0;
	height: 550px;
	position: relative;
	z-index: 3;
	display: flex;
}

.top_mv_inner h1 {
	margin: 0 0 20px;
	width: 240px;
}

.top_mv_inner .btn {
	display: inline-block;
}

.top_mv_inner .btn a {
	padding: 10px 20px 12px;
	border-radius: 30px;
	display: flex;
	align-items: center;
	font-size: var(--ft_16);
	color: var(--color_blue);
	background: #fff;
	font-weight: 700;
}

.icon_arrow_b {
	margin: 4px 0 0 5px;
	display: block;
	width: 16px;
	height: 9px;
	flex-shrink: 0;
	background: url(../images/common/link_blue.svg) no-repeat 0 0 / 100% auto;
}

.icon_arrow_w {
	margin: 2px 0 0 5px;
	display: block;
	width: 13px;
	height: 9px;
	flex-shrink: 0;
	background: url(../images/common/link_white.svg) no-repeat 0 0 / 100% auto;
}

.top_mv_inner h2 {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	font-weight: 700;
	line-height: 1.4;
	font-size: var(--ft_18);
	color: #fff;
	text-align: center;
}

@media screen and (min-width: 768px) {

	.top_mv_inner {
		margin: 0 auto;
		padding: 100px 0 0;
		height: 650px;
		width: min(95%, 1200px);
		justify-content: space-between;
		z-index: 4;
	}

	.top_mv_inner h1 {
		margin: 0 0 30px;
		width: 480px;
	}

	.top_mv_inner .btn a {
		padding: 14px 30px 16px;
		font-size: var(--ft_20);
		transition: all 0.25s ease;
	}

	.top_mv_inner .btn a:hover {
		background: var(--color_blue);
		color: #fff;
	}

	.icon_arrow_b {
		width: 19px;
		height: 11px;
	}

	a:hover .icon_arrow_b {
		background: url(../images/common/link_white.svg) no-repeat 0 0 / 100% auto;
	}

	.icon_arrow_w {
		width: 19px;
		height: 11px;
	}

	.top_mv_inner h2 {
		padding: 80px 0 0;
		line-height: 1.2;
		font-size: 2.5rem;
		color: #333;
		text-align: left;
		position: relative;
		left: auto;
		right: auto;
		bottom: auto;
	}

}


#top_mv_slide_ctrl {
	position: absolute;
	right: 0;
	bottom: 95px;
	display: flex;
	align-items: center;
}

#top_mv_slide_ctrl .slide_navi {
	display: flex;
	align-items: center;
}

#top_mv_slide_ctrl .slide_navi .slick-arrow {
	background: rgba(255,255,255,0.5);
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: none;
	border-radius: 50px;
}

#top_mv_slide_ctrl .slide_navi .slick_arrow {
	width: 7px;
	height: 14px;
	display: block;
	background: url(../images/common/icon_slider_arrow.svg) no-repeat center center / 100% auto;
}

#top_mv_slide_ctrl .slide_navi .slick-prev .slick_arrow {
	transform: rotate(-180deg);
}

#top_mv_slide_ctrl .slide_dot ul {
	margin: 0 8px;
	display: flex;
	align-items: center;
}

#top_mv_slide_ctrl .slide_dot li {
	margin: 0 3px;
	width: 11px;
	height: 11px;
	border: 3px solid rgba(255,255,255,0);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 20px;
}

#top_mv_slide_ctrl .slide_dot .slick-active {
	border: 3px solid rgba(255,255,255,1);
}

#top_mv_slide_ctrl .slide_dot li button {
	text-indent: -9999px;
	border-radius: 20px;
	background: #3665c1;
	width: 5px;
	height: 5px;
	padding: 0;
	border: none;
}

#top_mv_slide_ctrl .slide_stop {
	margin: 0 0 0 25px;
	padding: 0;
	background: rgba(255,255,255,0.5);
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: none;
	border-radius: 50px;
}

#top_mv_slide_ctrl .slide_stop .icon_stop {
	display: block;
	width: 9px;
	height: 10px;
	background: url(../images/common/icon_stop.png) no-repeat 0 0 / 100% auto;
}

@media screen and (min-width: 768px) {

	#top_mv_slide_ctrl {
		position: relative;
		right: auto;
		bottom: auto;
		display: flex;
		align-items: center;
		margin: 280px 0 0;
	}

	#top_mv_slide_ctrl .slide_navi .slick-arrow {
		width: 50px;
		height: 50px;
	}

	#top_mv_slide_ctrl .slide_navi .slick_arrow {
		width: 11px;
		height: 19px;
	}

	#top_mv_slide_ctrl .slide_dot ul {
		margin: 0 10px;
	}

	#top_mv_slide_ctrl .slide_dot li {
		margin: 0 5px;
		width: 16px;
		height: 16px;
	}

	#top_mv_slide_ctrl .slide_dot li button {
		width: 10px;
		height: 10px;
	}

	#top_mv_slide_ctrl .slide_stop {
		margin: 0 0 0 30px;
		width: 50px;
		height: 50px;
	}

	#top_mv_slide_ctrl .slide_stop .icon_stop {
		width: 13px;
		height: 14px;
	}

}

.top_contents {
	padding: 820px 0 340px;
	position: relative;
	background: url(../images/top/contents_back_sp.png) no-repeat center bottom -190px / 100% auto, linear-gradient(0deg, #1690da, var(--color_site));
}


@media screen and (min-width: 768px) {

	.top_contents {
		padding: 360px 0 230px;
		background: url(../images/top/contents_back_pc.png) no-repeat center bottom / 100% auto, linear-gradient(0deg, #1690da, var(--color_site));
	}

}

.top_search {
	position: absolute;
	left: 0;
	right: 0;
	top: 625px;
	z-index: 4;
}

.top_search h2 {
	margin: 0 0 20px;
	font-weight: 700;
	line-height: 1.4;
	font-size: var(--ft_18);
	color: #fff;
	text-align: center;
}

.top_search_box {
	padding: 40px 20px 40px;
	background: #3665c1;
	border-radius: 20px;
    box-shadow: 12px 12px 25px 0px rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 768px) {

	.top_search {
		top: 550px;
	}

	.top_search h2 {
		margin: 0 0 40px;
		line-height: 1.2;
		font-size: 2.5rem;
		color: #333;
		text-align: left;
	}

	.top_search_box {
		padding: 70px 50px 50px;
	}

	.top_search_box .search_column {
		margin: 0 0 40px;
		display: flex;
		gap: 55px;
	}

}

.top_search_box .search_box {
	margin: 0 0 30px;
	width: 100%;
}

.top_search_box .search_box dl {
	position: relative;
}

.top_search_box .search_box dl::before,
.top_search_box .search_box dl::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	bottom: -18px;
	margin: auto;
	width: 11px;
	height: 2px;
	background: #fff;
	border-radius: 3px;
}

.top_search_box .search_box dl::after {
	transform: rotate(-90deg);
}

.top_search_box .search_box:last-child dl::before,
.top_search_box .search_box:last-child dl::after {
	display: none;
}

.top_search_box .search_box dt {
	margin: 0 0 10px;
	font-size: var(--ft_16);
	font-weight: 700;
	color: #fff;
}

.top_search_box .search_box dd {
	background: #fff;
	border-radius: 10px;
	position: relative;
}


.top_search_box .search_box dd::after {
	position: absolute;
	content: '';
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 7px;
	height: 20px;
	background: url(../images/common/icon_select.png) no-repeat 0 0 / 100% auto;
}

@media screen and (min-width: 768px) {

	.top_search_box .search_box {
		margin: 0;
	}

	.top_search_box .search_box dl::before,
	.top_search_box .search_box dl::after {
		left: auto;
		right: -36px;
		bottom: 32px;
		width: 15px;
		height: 3px;
	}

	.top_search_box .search_box dt {
		margin: 0 0 20px;
		font-size: var(--ft_20);
	}

	.top_search_box .search_box dd::after {
		right: 20px;
		width: 8px;
		height: 24px;
	}

}

.top_search_box .search_box dd select {
	border: none;
	padding: 20px;
	font-size: var(--ft_14);
	font-weight: 700;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	position: relative;
	width: 100%;
	background: transparent;
	border: none;
	cursor: pointer;
	z-index: 1;
	color: inherit;
}

.top_search_submit {
	text-align: center;
}

.top_search_submit .btn_search {
	margin: 0 auto;
	padding: 20px 0;
	border: none;
	background: #f6e154;
	border-radius: 10px;
	font-size: var(--ft_16);
	font-weight: 700;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	color: inherit;
}

.top_search_submit .btn_search span {
	color: inherit;
}

.top_search_submit .icon_search {
	margin: 0 5px 0 0;
	display: block;
	width: 24px;
	height: 24px;
	background: url(../images/common/icon_search.svg) no-repeat 0 center / 100% auto;
}

.top_search_submit .btn_search:hover {
	background: #fff600;
}

@media screen and (min-width: 768px) {

	.top_search_box .search_box dd select {
		padding: 25px;
		font-size: var(--ft_16);
	}

	.top_search_submit .btn_search {
		font-size: var(--ft_20);
		width: 500px;
		transition: all 0.25s ease;
	}

	.top_search_submit .icon_search {
		margin: 0 10px 0 0;
		width: 30px;
		height: 30px;
	}

	.top_search_submit .btn_search:hover {
		background: #fff600;
	}

}

.top_search_info {
	margin: 50px 0 0;
	padding: 20px 20px 10px;
	color: #fff;
	background: #3d6fd1;
	border-radius: 10px;
}

.top_search_info h3 {
	padding: 0 0 20px;
	font-size: var(--ft_16);
	font-weight: 700;
	white-space: nowrap;
}

.top_search_info ul {
	padding: 20px 0 0;
	border-top: 1px solid #6b8fd6;
}

.top_search_info li {
	margin: 0 0 10px;
}

.top_search_info li dl {
	display: flex;
}

.top_search_info li dt {
	margin: 0 10px 0 0;
	font-weight: 700;
	width: 100px;
	font-size: var(--ft_14);
	position: relative;
	flex-shrink: 0;
}

.top_search_info li dt span {
	padding-right: 10px;
	background: #3d6fd1;
	position: relative;
	z-index: 2;
}

.top_search_info li dt::after {
	position: absolute;
	content: '';
	right: 0;
	top: 10px;
	width: 100%;
	height: 1px;
	background: #6b8fd6;
}

.top_search_info li dd {
	font-weight: 700;
	font-size: var(--ft_14);
	line-height: 1.6;
}

@media screen and (min-width: 768px) {

	.top_search_info {
		margin: 50px 0 0;
		padding: 10px;
		display: flex;
		align-items: center;
	}

	.top_search_info h3 {
		padding: 0 40px;
		font-size: var(--ft_20);
	}

	.top_search_info ul {
		padding: 20px 0 20px 40px;
		border-left: 1px solid #6b8fd6;
		border-top: none;
		display: flex;
		flex-wrap: wrap;
	}

	.top_search_info li {
		margin: 6px 30px 6px 0;
		width: calc(50% - 30px);
	}

	.top_search_info li dl {
		align-items: center;
	}

	.top_search_info li dt {
		width: 110px;
		font-size: var(--ft_16);
	}

	.top_search_info li dt::after {
		top: 0;
		bottom: 0;
		margin: auto;
	}

}

.top_lineup {
	text-align: center;
}

.top_lineup_title {
	margin: -90px 0 30px;
	padding-top: 90px;
	color: #fff;
	font-size: var(--ft_24);
	font-weight: 700;
}

.lineup_empty {
	padding: 30px 20px;
	display: none;
}

.lineup_empty p {
	margin: 0;
	color: #fff;
	font-size: var(--ft_16s);
	line-height: 1.6;
	font-weight: 700;
}

@media screen and (min-width: 768px) {

	.top_lineup_title {
		margin: -100px 0 45px;
		padding: 100px 0 0;
		font-size: 2.5rem;
	}

	.lg_1 .top_lineup_title {
		margin-top: -150px;
		padding-top: 150px;
	}

	.lineup_empty {
		padding: 70px 0;
	}

	.lineup_empty {
		font-size: var(--ft_20);
	}

}

.lineup_box {
	margin: 0 10px;
}

.lineup_box a {
	display: block;
	border-radius: 200px;
	background: #fff;
	overflow: hidden;
}

.lineup_box figure {
	padding: 55px 55px 0;
	height: 48vw;
}

.lineup_box figure img {
	margin: 0 auto;
	height: 100%;
	width: auto;
}

.lineup_box h3 {
	margin: 20px 0;
	color: var(--color_site);
	font-weight: 700;
	font-size: var(--ft_26);
}

@media screen and (min-width: 768px) {

	.top_lineup_column {
	}

	.lineup_box {
		margin: 0 14px;
		width: 370px;
	}

	.lineup_box a {
		display: block;
		border-radius: 200px;
		background: #fff;
		overflow: hidden;
		position: relative;
	}

	.lineup_box a::after {
		position: absolute;
		content: '';
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: 5px solid #fff600;
		border-radius: 200px;
		opacity: 0;
	}

	.lineup_box figure {
		padding: 80px 30px 0;
		height: 280px;
	}

	.lineup_box h3 {
		margin: 10px 0 30px;
		font-size: 2.25rem;
	}

}

.lineup_box .spec {
	padding: 0 0 5px;
}

.lineup_box .spec dl {
	padding: 10px 0;
	font-size: var(--ft_16);
}

.lineup_box .spec dl.spec_product_tag {
	display: none;
}

.lineup_box .spec dl.spec_product_tag:has(.product_tag li) {
	display: block;
}

.lineup_box .spec dl:nth-child(odd) {
	background: #f5f8fc;
}

.lineup_box .spec dt {
	line-height: 1.6;
	font-weight: 700;
}

.lineup_box .spec dt sup {
	font-size: var(--ft_10);
}

.lineup_box .spec dd {
	line-height: 1.6;
}

.lineup_box .spec dd .memo {
	margin: 5px 0 0;
	display: block;
	font-size: var(--ft_12);
}

.lineup_box .spec .product_tag {
	margin: 0;
	padding: 5px 20px;
	justify-content: center;
}

@media screen and (min-width: 768px) {

	.lineup_box .spec {
		padding: 0;
	}

	.lineup_box .spec .product_tag {
		padding: 10px 50px;
	}

}

.lineup_box .link {
	padding: 20px 0 15px;
	font-size: var(--ft_18);
	font-weight: 700;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #f6e154;
}

.lineup_box .link .icon_arrow_b {
	margin: 12px 0 0;
	display: block;
	width: 19px;
	height: 11px;
	flex-shrink: 0;
	background: url(../images/common/link_blue.svg) no-repeat 0 0 / 100% auto;
}

@media screen and (min-width: 768px) {

	.lineup_box .link {
		padding: 25px 0 35px;
		font-size: var(--ft_20);
		flex-direction: initial;
		transition: all 0.25s ease;
	}

	.lineup_box a:hover::after {
		opacity: 1;
	}

	.lineup_box a:hover .link {
		background: #fff600;
	}

	.lineup_box .link .icon_arrow_b {
		margin: 0 0 0 5px;
		width: 16px;
		height: 9px;
	}

}

.top_lineup > .btn {
	margin: 35px 20px 0;
}

.top_lineup > .btn a {
	margin: 0 auto;
	padding: 18px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: var(--ft_16);
	color: #fff;
	border: 1px solid #fff;
	border-radius: 50px;
}

@media screen and (min-width: 768px) {

	.top_lineup > .btn {
		margin: 50px 0 0;
	}

	.top_lineup > .btn a {
		padding: 30px 0;
		font-size: var(--ft_20);
		width: 500px;
		transition: all 0.25s ease;
	}

	.top_lineup > .btn a:hover {
		background: #fff;
		color: #333;
	}

	.top_lineup > .btn a:hover .icon_arrow_w {
		background: url(../images/common/link_blue.svg) no-repeat 0 0 / 100% auto;
	}

}

.top_lineup .slide_ctrl {
	margin: 30px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_lineup .slide_ctrl .slick-dots {
	margin: 4px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_lineup .slide_ctrl .slick-dots li {
	margin: 0 5px;
}

.top_lineup .slide_ctrl .slick-dots li button {
	border: none;
	padding: 0;
	background: #fff;
	border-radius: 10px;
	width: 10px;
	height: 10px;
	text-indent: -9999px;
	display: block;
}

.top_lineup .slide_ctrl .slick-dots li.slick-active button {
	background: #ffea00;
}

@media screen and (min-width: 768px) {

	.top_lineup .slide_ctrl {
		margin: 55px 0 0;
	}

	.top_lineup .slide_ctrl .slick-dots {
		margin: 5px 0 0;
	}

	.top_lineup .slide_ctrl .slick-dots li button {
		width: 12px;
		height: 12px;
	}

}

.top_lineup .slide_ctrl .slide_stop {
	border: none;
	background: none;
	width: 13px;
	height: 17px;
}

.top_lineup .slide_ctrl .slide_stop .icon_stop {
	margin: 0 0 0 15px;
	position: relative;
	display: block;
	width: 13px;
	height: 17px;
}

.top_lineup .slide_ctrl .slide_stop .icon_stop::before,
.top_lineup .slide_ctrl .slide_stop .icon_stop::after {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	width: 3px;
	height: 100%;
	background: #fff;
}

.top_lineup .slide_ctrl .slide_stop .icon_stop::after {
	left: auto;
	right: 0;
}

@media screen and (min-width: 768px) {

	.top_lineup .slide_ctrl .slide_stop {
		width: 18px;
		height: 25px;
	}

	.top_lineup .slide_ctrl .slide_stop .icon_stop {
		margin: 0 0 0 20px;
		width: 18px;
		height: 25px;
	}

	.top_lineup .slide_ctrl .slide_stop .icon_stop::before,
	.top_lineup .slide_ctrl .slide_stop .icon_stop::after {
		width: 4px;
		height: 100%;
	}

}

.top_lineup_slide .slick-track {
	display: flex !important;
}

.top_lineup_slide .lineup_box {
	height: auto !important;
	display: flex !important;
}

.top_lineup_slide .lineup_box > a {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.top_lineup_slide .lineup_box .link {
  margin-top: auto;
}

.top_about {
	margin: 80px 0 0;
}

.top_about_box {
	margin: 0 12px;
	padding: 10px;
	background: rgb(255,255,255,0.3);
}

.top_about_box > div {
	padding: 20px;
	background: #fff;
	text-align: center;
}

.top_about_box h3 {
	margin: 0 10px;
}

.top_about_box .btn a {
	padding: 15px 20px;
	border-radius: 50px;
	display: inline-flex;
	align-items: center;
	background: var(--color_site);
	color: #fff;
	font-weight: 700;
	line-height: 1.2;
	font-size: var(--ft_14);
}

@media screen and (min-width: 768px) {

	.top_about {
		margin: 250px 0 0;
	}

	.top_about_box {
		margin: 0 0 0 35px;
		padding: 10px;
		width: 543px;
		background: rgb(255,255,255,0.3);
	}

	.top_about_box > div {
		padding: 45px 20px 75px;
		background: #fff;
		text-align: center;
	}

	.top_about_box h3 {
		margin: 0 auto 20px;
		width: 433px;
	}

	.top_about_box .btn a {
		padding: 25px 50px;
		border-radius: 50px;
		display: inline-flex;
		align-items: center;
		background: var(--color_site);
		color: #fff;
		font-weight: 700;
		font-size: var(--ft_18);
		transition: all 0.25s ease;
	}

	.top_about_box .btn a:hover {
		background: #0068de;
	}

}

.top_support {
	margin: 60px 0;
}

.top_support li {
	margin: 0 0 10px;
	border: 1px solid #bdcce1;
	border-radius: 10px;
	text-align: center;
}

.top_support li a {
	padding: 35px 20px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
}

.top_support li h3 {
	margin: 15px 0 0;
	font-size: var(--ft_16);
	font-weight: 700;
}

.top_support .icon_faq {
	width: 42px;
}

.top_support .icon_repair {
	width: 31px;
}

.top_support .icon_download {
	width: 48px;
}

@media screen and (min-width: 768px) {

	.top_support {
		margin: 120px 0;
	}

	.top_support ul {
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: 30px;
	}

	.top_support li {
		margin: 0;
		overflow: hidden;
	}

	.top_support li a {
		padding: 60px 20px;
		transition: all 0.25s ease;
	}

	.top_support li a:hover {
		background: #f1f8ff;
	}

	.top_support .icon_faq {
		width: 54px;
	}

	.top_support .icon_repair {
		width: 39px;
	}

	.top_support .icon_download {
		width: 60px;
	}

}

.top_news {
	margin: 0 0 60px;
}

.top_news:has(+ .top_news) {
	margin: 0 0 30px;
}

.top_support h2,
.top_news h2 {
	margin: 0 0 30px;
	font-weight: 700;
	color: var(--color_site);
	font-size: var(--ft_24);
	text-align: center;
}

.top_news li a {
	padding: 20px;
	display: block;
	border-radius: 10px;
}

.top_news li a.nolink .icon_arrow_b {
	display: none;
}

.top_news li:nth-child(odd) a {
	background-color: #f5f8fc;
}

.top_news li h3 {
	font-size: var(--ft_16);
}

.top_news li a .icon_arrow_b {
	display: inline-block;
}

.top_news li .news_tag {
	margin: 0 0 5px;
	padding: 2px 5px 4px;
	width: 80px;
	text-align: center;
	color: #fff;
	font-size: var(--ft_14);
	border-radius: 20px;
}

.top_news li .news_tag.tag_choice {
	background: #299640;
}

.top_news li .news_tag.tag_mente {
	background: #8e4bbd;
}

.top_news li .news_tag.tag_storage {
	background: #c43737;
}

.top_news li .news_tag.tag_news {
	background: #cf008d;
}

.top_news li .news_tag.tag_other {
	background: #6b6b6b;
}

@media screen and (min-width: 768px) {

	.top_news {
		margin: 0 0 180px;
	}

	.top_news:has(+ .top_news) {
		margin: 0 0 80px;
	}

	.top_support h2,
	.top_news h2 {
		margin: 0 0 45px;
		font-size: 2.5rem;
	}

	.top_news li a {
		padding: 30px;
		display: flex;
		align-items: flex-start;
		border-radius: 50px;
		transition: all 0.25s ease;
	}

	.top_news li h3 {
		font-size: var(--ft_18);
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.top_news li a .icon_arrow_b {
		margin-left: 20px;
	}

	.top_news li .news_tag {
		margin: 0 20px 0 0;
	}

	.top_news li a:hover {
		color: var(--color_site);
	}

	.top_news li:nth-child(odd) a:hover {
		background-color: #f1f8ff;
		background-image:
	}

	.top_news li a:hover .icon_arrow_b {
		background: url(../images/common/link_blue.svg) no-repeat 0 0 / 100% auto;

	}

}

/* -----------------
	詳細ページ
----------------- */

.js-lazy-load {
	transform: translateX(0);
	opacity: 1;
}

.page_header .page_header_inner {
	padding: 0 20px;
	height: 225px;
	display: flex;
	align-items: center;
	position: relative;
	background: var(--color_site) url(../images/common/header_back_sp.png) no-repeat right top / auto 100%;
}

.page_header.header_img_on .page_header_inner {
	background: var(--color_site) url(../images/common/header_img_sp.jpg) no-repeat center center / cover;
}

.page_header.header_img_on .page_header_inner::after {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(39,86,177,0.8) url(../images/common/header_parts_sp.png) no-repeat right 0 / auto 100%;
}

.product_index_page_header .page_header_inner,
.shop_page_header .page_header_inner,
.faq_page_header .page_header_inner,
.topic_page_header .page_header_inner {
	padding: 0 20px;
	height: 225px;
	display: flex;
	align-items: center;
	background: var(--color_site) url(../images/common/header_back_sp.png) no-repeat right top / auto 100%;
}

.product_index_page_header .page_header_inner::after,
.shop_page_header .page_header_inner::after,
.faq_page_header .page_header_inner::after,
.topic_page_header .page_header_inner::after {
	display: none;
}

.page_header > .entry_header_back {
	display: none;
}

.entry_header_back {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.sp_entry_header_back {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

@media screen and (min-width: 768px) {

	.page_header {
		padding: 0;
		height: 350px;
		position: relative;
		background: var(--color_site) url(../images/common/header_back_pc.png) no-repeat right top / auto 100%;
	}

	.page_header.header_img_on {
		background: var(--color_site) url(../images/common/header_img_pc.jpg) no-repeat right top / auto 100%;
	}

	.page_header .page_header_inner {
		margin: 0 auto;
		padding: 0;
		width: var(--min-width);
		height: 100%;
		align-items: center;
		background: none;
	}

	.page_header.header_img_on .page_header_inner {
		background: none;
	}

	.page_header .page_header_inner::after {
		display: none;
	}

	.page_header > .entry_header_back {
		display: block;
	}

	.sp_entry_header_back {
		display: none;
	}

	.page_header_inner .entry_header_back {
		display: none;
	}

}


.page_title {
	font-size: var(--ft_28);
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	position: relative;
	z-index: 2;
}

.page_navi:not(:has(ul li)) {
	display: none;
}

.page_navi {
	margin: 0;
	background: #5d5d5d;
}

.page_navi ul {
	padding: 0 5%;
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 2;
}

.page_navi li {
	font-size: var(--ft_10);
	line-height: 1.8;
	font-weight: 700;
}

.page_navi li a {
	padding: 20px 10%;
	color: #fff;
	display: flex;
	height: 100%;
}

.page_navi li a span {
	padding-bottom: 12px;
	position: relative;
	text-align: center;
	display: flex;
	align-items: center;
}

.page_navi li a span::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 15px;
	height: 6px;
	background: url(../images/product/icon_navi_arrow.png) no-repeat 0 0 / 100% auto;
}

.entry_inner {
	padding: 60px 0 0;
}

@media screen and (min-width: 768px) {

	.page_title {
		font-size: 3.125rem;
	}

	.page_navi {
		margin: 0;
		position: relative;
	}

	.page_navi ul {
		align-items: center;
	}

	.page_navi li {
		font-size: var(--ft_16);
	}

	.page_navi li a {
		padding: 36px 30px;
		transition: all 0.25s ease;
	}

	.page_navi li a span::after {
		width: 18px;
		height: 8px;
	}

	.page_navi li a:hover {
		color: #fff600;
	}

	.page_navi li a:hover span::after {
		background: url(../images/product/icon_navi_arrow_o.png) no-repeat 0 0 / 100% auto;
	}

	.entry_inner {
		padding: 130px 0 0;
	}

}

/* -----------------
	製品情報詳細
----------------- */

.product_page_header .page_header_inner {
	padding: 50px 20px 0;
	height: 300px;
	display: flex;
	align-items: flex-start;
	background: var(--color_site) url(../images/common/header_back_sp.png) no-repeat right top / auto 100%;
}

.product_page_header .page_header_inner > div {
	z-index: 2;
}

.product_page_header .product_sub_title {
	margin: 0 0 5px;
	color: #fff;
	font-size: var(--ft_12);
	font-weight: 700;
	line-height: 1.6;
}

.product_page_header .product_name .page_title {
	font-size: 3.125rem;
	font-weight: 700;
	color: #fff;
}

.product_page_header .product_option_blade {
	margin: 10px 0 0;
	padding: 8px 10px;
	border: 1px solid #a9bbe0;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
}

.product_page_header .product_option_blade img {
	margin: 0 5px 0 0;
	width: 46px;
}

.product_page_header .product_option_blade p {
	color: #fff;
	font-size: var(--ft_14);
}

@media screen and (min-width: 768px) {

	.shop_page_header,
	.faq_page_header,
	.topic_page_header,
	.product_page_header {
		padding: 0;
		height: 350px;
		position: relative;
		background: var(--color_site) url(../images/common/header_back_pc.png) no-repeat right top / auto 100%;
	}

	.shop_page_header .page_header_inner,
	.faq_page_header .page_header_inner,
	.topic_page_header .page_header_inner,
	.product_page_header .page_header_inner {
		margin: 0 auto;
		padding: 0;
		width: var(--min-width);
		height: 100%;
		background: none;
		align-items: center;
	}

	.product_page_header .product_sub_title {
		margin: 0 0 10px;
		font-size: var(--ft_24);
		line-height: 1.4;
	}

	.product_page_header .product_name {
		display: flex;
		align-items: center;
	}

	.product_page_header .product_name .page_title {
		font-size: 5rem;
	}

	.product_page_header .product_option_blade {
		margin: 10px 0 0 25px;
		padding: 10px 15px;
		border: 3px solid #a9bbe0;
	}

	.product_page_header .product_option_blade img {
		margin: 0 10px 0 0;
		width: 65px;
	}

	.product_page_header .product_option_blade p {
		font-size: var(--ft_14);
		font-weight: 700;
	}

}

.page_main {
	padding-bottom: 60px;
}

@media screen and (min-width: 768px) {

	.page_main {
		padding-bottom: 180px;
	}

}

.product_info {
	margin: 0 0 50px;
}

.product_info .spec {
	margin: 45px 0 0;
}

.product_info .product_width {
	margin: 0 0 30px;
}

.product_info .product_width dt,
.product_info .product_height dt,
.product_info .product_quality dt {
	margin: 0 0 10px;
	font-size: var(--ft_18);
	font-weight: 700;
}

.product_info .product_width dd {
	font-size: var(--ft_26);
	font-weight: 700;
	text-align: center;
	position: relative;
}

.product_info .product_width dd .span {
	font-size: var(--ft_22);
}

.product_info .product_width dd::before {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 81px;
	height: 24px;
	background: url(../images/product/width_left_sp.png) no-repeat 0 center / 100% auto;
}

.product_info .product_width dd::after {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 81px;
	height: 24px;
	background: url(../images/product/width_right_sp.png) no-repeat 0 center / 100% auto;
}

@media screen and (min-width: 768px) {

	.product_info {
		margin: 0 0 95px;
		display: flex;
		justify-content: space-between;
	}

	.product_info .spec {
		margin: 60px 0 0;
		order: 1;
		width: calc(50% - 5%);
	}

	.product_info .product_width dt,
	.product_info .product_height dt,
	.product_info .product_quality dt {
		margin: 0 0 20px;
		font-size: var(--ft_18);
	}

	.product_info .product_width dd {
		font-size: 2.5rem;
	}

	.product_info .product_width dd span {
		font-size: var(--ft_28);
	}

	.product_info .product_width dd::before {
		width: 33%;
		height: 30px;
		background: url(../images/product/width_left_pc.png) no-repeat 0 center / 100% auto;
	}

	.product_info .product_width dd::after {
		width: 33%;
		height: 30px;
		background: url(../images/product/width_right_pc.png) no-repeat 0 center / 100% auto;
	}

	.product_info .product_width dd div {
		margin: 0 auto;
		padding: 0 20px;
		width: 34%;
		background: #fff;
	}

}

@media screen and (min-width: 768px) and (max-width: 999px) {

	.product_info .product_width dd::before {
		width: 30%;
		height: 30px;
	}

	.product_info .product_width dd::after {
		width: 30%;
		height: 30px;
	}

	.product_info .product_width dd div {
		padding: 0 10px;
		width: 40%;
	}

}

.product_info .product_height {
	margin: 0 0 30px;
}

.product_info .product_height_level {
	margin: 0 0 5px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	color: #fff;
	font-weight: 700;
}

.product_info .product_height_level_box {
	width: calc(33% - 1px);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px 10px 0 0;
}

.product_info .product_height_level_box span {
	font-size: var(--ft_16);
}

.product_info .product_height_level_box > div p.note {
	font-size: var(--ft_14);
	font-weight: 500;
}

.product_info .product_height_level_box > div p.note span {
	font-size: var(--ft_14);
}

.product_info .product_height_level .product_height_max {
	height: 100px;
	background: var(--color_site);
	font-size: var(--ft_20);
}

.product_info .product_height_level .product_height_min {
	height: 80px;
	background: var(--color_site);
	font-size: var(--ft_26);
}

.product_info .product_height_level .product_height_hard {
	height: 60px;
	background: #0d9e90;
	font-size: var(--ft_20);
}

.product_info .product_height .product_height_text {
	display: flex;
}

.product_info .product_height .product_height_text p {
	font-size: var(--ft_16);
	font-weight: 700;
	color: var(--color_text_blue);
	width: calc(66% - 1px);
	text-align: center;
}

.product_info .product_height .product_height_text p:last-child {
	color: #0d9e90;
	width: calc(33% - 1px);
}

.product_info .product_height .product_height_text p sup {
	color: #333;
	font-size: var(--ft_14);
}

@media screen and (min-width: 768px) {

	.product_info .product_height {
		margin: 0 0 25px;
	}

	.product_info .product_height_level_box span {
		font-size: var(--ft_20);
	}

	.product_info .product_height_level .product_height_max {
		height: 100px;
		font-size: 1.875rem;
	}

	.product_info .product_height_level .product_height_min {
		height: 75px;
		font-size: 1.875rem;
	}

	.product_info .product_height_level .product_height_hard {
		height: 50px;
		font-size: 1.875rem;
	}

	.product_info .product_height .product_height_text p {
		font-size: var(--ft_18);
	}

}

.product_info .product_quality dd {
	margin: 0 0 35px;
}

.product_info .product_quality dd ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 5px;
}

.product_info .product_quality dd li {
	padding: 15px 0 0;
	border: 2px solid #f4f4f4;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	font-size: var(--ft_14);
	height: 100px;
	text-align: center;
}

.product_info .product_quality dd li:nth-child(1) {
	color: var(--color_text_blue);
}

.product_info .product_quality dd li:nth-child(2) {
	color: #1f9ac8;
}

.product_info .product_quality dd li:nth-child(3) {
	color: #1aa2b3;
}

.product_info .product_quality dd li:nth-child(4) {
	color: #0d9e90;
}

.product_info .product_quality dd li span {
	margin: 2px 0 0;
	font-size: var(--ft_14);
	color: #333;
	display: block;
}

.product_info .product_quality .icon {
	margin: 5px auto 0;
	display: block;
	width: 31px;
	height: 31px;
	border: 3px solid;
	border-radius: 50%;
}

.product_info .product_quality .icon_best {
	position: relative;
}

.product_info .product_quality .icon_best::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 15px;
	height: 15px;
	border: 3px solid;
	border-radius: 50%;
}

.product_info .product_quality dd li:nth-child(1) .icon,
.product_info .product_quality dd li:nth-child(1) .icon_best::after {
	border-color: var(--color_text_blue);
}

.product_info .product_quality dd li:nth-child(2) .icon,
.product_info .product_quality dd li:nth-child(2) .icon_best::after {
	border-color: #1f9ac8;
}

.product_info .product_quality dd li:nth-child(3) .icon,
.product_info .product_quality dd li:nth-child(3) .icon_best::after {
	border-color: #1aa2b3;
}

.product_info .product_quality dd li:nth-child(4) .icon,
.product_info .product_quality dd li:nth-child(4) .icon_best::after {
	border-color: #0d9e90;
}

.product_info .product_quality p.note {
	padding-left: 1.8em;
	text-indent: -1.8em;
	font-size: var(--ft_14);
	line-height: 1.6;
}

@media screen and (min-width: 768px) {

	.product_info .product_quality dd {
		margin: 0 0 40px;
	}

	.product_info .product_quality .icon {
		margin: 2px auto 0;
	}

}

.product_info .product_img {
	margin: -40px 0 0;
	position: relative;
}

.product_info .product_slide {
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	border-radius: 30px;
	overflow: hidden;
	aspect-ratio: 1 / 1;
}

.product_info .slide_ctrl {
	margin: 20px 0 0;
}

.product_info .slide_ctrl .slide_navi {
	display: flex;
	justify-content: center;
	align-items: center;
}

.product_info .slide_ctrl .slide_dot ul {
	margin: 0 40px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.product_info .slide_ctrl .slide_dot li {
	margin: 5px;
	border: 1px solid #fff;
	border-radius: 10px;
}

.product_info .slide_ctrl .slide_dot li button {
	padding: 0;
	background: #d4ddef;
	width: 8px;
	height: 8px;
	text-indent: -9999px;
	display: block;
	border: none;
	border-radius: 10px;
}

.product_info .slide_ctrl .slide_dot li.slick-active {
	border-color: var(--color_site);
}

.product_info .slide_ctrl .slide_dot li.slick-active button {
	background: var(--color_site);
}

.product_info .slide_ctrl .slick-arrow {
	padding: 0;
	border: 1px solid var(--color_site);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

.product_info .slide_ctrl .slick-arrow .slick_arrow {
	display: block;
	width: 8px;
	height: 17px;
	background: url(../images/common/icon_slider.svg) no-repeat 0 0 / 100% auto;
}

.product_info .slide_ctrl .slick-prev .slick_arrow {
	transform: rotate(180deg);
}

@media screen and (min-width: 768px) {

	.product_info .product_img {
		margin: -100px 0 0;
		order: 2;
		width: 50%;
	}

	.product_info .slide_ctrl {
		margin: 30px 0 0;
	}

	.product_info .slide_ctrl .slide_dot {
		min-width: 0;
	}

	.product_info .slide_ctrl .slide_dot ul {
		margin: 0 50px;
	}

	.product_info .slide_ctrl .slide_dot li {
		margin: 5px 8px;
		border: 2.5px solid #fff;
	}

	.product_info .slide_ctrl .slide_dot li button {
		width: 10px;
		height: 10px;
	}

	.product_info .slide_ctrl .slick-arrow {
		width: 70px;
		height: 70px;
	}

	.product_info .slide_ctrl .slick-arrow.slick-prev {
		margin-left: auto;
	}

	.product_info .slide_ctrl .slick-arrow.slick-next {
		margin-right: auto;
	}

	.product_info .slide_ctrl .slick-arrow .slick_arrow {
		width: 10px;
		height: 23px;
	}

	.product_info .slide_ctrl .slick-arrow:hover {
		background: var(--color_site);
	}

	.product_info .slide_ctrl .slick-arrow:hover .slick_arrow {
		background: url(../images/common/icon_slider_w.svg) no-repeat 0 0 / 100% auto;
	}

}

.product_page_navi {
	margin: 0 -20px;
	background: #5d5d5d;
}

.product_page_navi ul {
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 2;
}

.product_page_navi li {
	font-size: var(--ft_10);
	line-height: 1.8;
	font-weight: 700;
}

.product_page_navi li a {
	padding: 20px 10px;
	color: #fff;
	display: flex;
	height: 100%;
}

.product_page_navi li a span {
	padding-bottom: 12px;
	position: relative;
	white-space: nowrap;
	text-align: center;
	display: flex;
	align-items: center;
}

.product_page_navi li a span::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 15px;
	height: 6px;
	background: url(../images/product/icon_navi_arrow.png) no-repeat 0 0 / 100% auto;
}

@media screen and (min-width: 768px) {

	.product_page_navi {
		margin: 0;
		position: relative;
	}

	.product_page_navi::before {
		position: absolute;
		content: '';
		top: 0;
		left: 50%;
		height: 100%;
		width: 100vw;
		background: #5d5d5d;
		transform: translateX(-50%);
		z-index: -1;
	}

	.product_page_navi ul {
		align-items: center;
	}

	.product_page_navi li {
		font-size: var(--ft_16);
	}

	.product_page_navi li a {
		padding: 36px 30px;
		transition: all 0.25s ease;
	}

	.product_page_navi li a span::after {
		width: 18px;
		height: 8px;
		transition: all 0.25s ease;
	}

	.product_page_navi li a:hover {
		color: #fff600;
	}

	.product_page_navi li a:hover span::after {
		background: url(../images/product/icon_navi_arrow_o.png) no-repeat 0 0 / 100% auto;
	}

}

.product_point {
	margin: 60px 0 0;
}

.product_h2 {
	margin: 0 0 50px;
	padding: 4px 0 10px 42px;
	font-size: var(--ft_26);
	font-weight: 700;
	line-height: 1.2;
	font-family: "Lato", sans-serif;
	background: url(../images/common/icon_h2.svg) no-repeat 0 0 / 30px auto;
}

.product_point ol {
	list-style: none;
}

.product_point li {
	margin: 0 0 30px;
	border: 1px solid var(--color_site);
	border-radius: 20px;
	padding: 100px 25px 30px;
	position: relative;
}

.product_point li p.point_no {
	position: absolute;
	top: 30px;
	left: -10px;
	padding: 6px 0 0;
	width: 140px;
	height: 45px;
	text-align: center;
	color: #fff;
	font-size: var(--ft_18);
	background: url(../images/product/point_title_back.png) no-repeat 0 0 / 100% auto;
}

.product_point li h3 {
	margin: 0 0 20px;
	font-size: var(--ft_20);
	font-weight: 700;
	line-height: 1.3;
}

.product_point li p {
	margin: 0;
	font-size: var(--ft_16);
	line-height: 1.5;
}

.product_point li p.note {
	margin: 10px 0 0;
	padding: 0 0 0 1em;
	text-indent: -1em;
	font-size: var(--ft_14);
}

@media screen and (min-width: 768px) {

	.product_point {
		margin: 130px 0 0;
	}

	.product_h2 {
		margin: 0 0 80px -60px;
		padding: 0 0 0 55px;
		font-size: 3.125rem;
		background: url(../images/common/icon_h2.svg) no-repeat 0 8px / 36px auto;
	}

	.product_point ol {
		display: grid;
		gap: 4.5%;
		grid-template-columns: repeat(3, 1fr);
	}

	.product_point li {
		margin: 0;
		padding: 110px 45px 40px;
	}

	.product_point li p.point_no {
		padding: 9px 0 0;
		width: 185px;
		height: 60px;
		font-size: var(--ft_24);
	}

	.product_point li h3 {
		margin: 0 0 25px;
		font-size: var(--ft_28);
	}

	.product_point li p {
		font-size: var(--ft_16);
	}

	.product_point li p.note {
		margin: 5px 0 0;
	}

}


.product_spec {
	margin: 60px 0 0;
}

.product_spec .entry_column h3 {
	margin: 0 0 40px;
	padding: 0;
	font-size: var(--ft_24);
	font-weight: 700;
	position: relative;
	display: flex;
	align-items: center;
	border: none;
}

.product_spec .entry_column h3::after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #5d5d5d;
	display: block;
	margin-left: 15px;
}

.entry_column .product_spec_column {
	margin: 0 0 45px;
}

.entry_column .product_spec_box {
	margin: 0 0 35px;
}

.entry_column .product_spec_box figure {
	border-radius: 20px;
	overflow: hidden;
}

.entry_column .product_spec_box figure img {
	aspect-ratio: 360 / 270;
}

.entry_column .product_spec_box h4 {
	margin: 15px 0;
	font-size: var(--ft_18);
	font-weight: 700;
}

.entry_column .product_spec_box p {
	font-size: var(--ft_16);
}

@media screen and (min-width: 768px) {

	.product_spec {
		margin: 130px 0 0;
	}

	.product_spec .entry_column h3 {
		margin: 0 0 55px;
		font-size: 2.25rem;
	}

	.product_spec .entry_column h3::after {
		margin-left: 30px;
	}

	.entry_column .product_spec_column {
		margin: 0 0 75px;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 55px 5%;
	}

	.entry_column .product_spec_box {
		margin: 0;
	}

	.entry_column .product_spec_box figure {
		max-height: 270px;
	}

	.entry_column .product_spec_box h4 {
		margin: 20px 0 15px;
		font-size: var(--ft_20);
	}

}

.product_info_table {
	margin: 10px 0 0;
}

.product_info_table_scroll {
	padding: 0 0 15px;
	overflow-x: scroll;
}

.product_info_table table {
	width: 100%;
}

.product_info_table th {
	padding: 10px 20px;
	border-bottom: 1px solid #cedef4;
	background: #f4f7fb;
	font-size: var(--ft_18);
	font-weight: 700;
	color: var(--color_text_blue);
	text-align: left;
	white-space: nowrap;
}

.product_info_table tr:first-child th {
	border-top: 1px solid #f4f7fb;
}

.product_info_table th.last,
.product_info_table tr:last-child th {
	border-bottom: 1px solid #f4f7fb;
}

.product_info_table th span {
	font-size: var(--ft_12);
}

.product_info_table th.sub {
	color: #333;
	font-size: var(--ft_16);
}

.product_info_table td {
	padding: 15px 20px;
	border-top: 1px solid #cedef4;
	border-bottom: 1px solid #cedef4;
	font-size: var(--ft_16);
	white-space: nowrap;
}

.product_info_table p.note {
	margin: 0;
	padding-left: 1em;
	text-indent: -1em;
	font-size: var(--ft_14);
}

@media screen and (min-width: 768px) {

	.product_info_table {
		margin: 50px 0 0;
	}

	.product_info_table_scroll {
		padding: 0;
		overflow-x: inherit;
	}

	.product_info_table th,
	.product_info_table td {
		white-space: normal;
	}

	.product_info_table p.note {
		margin: 15px 0 0;
		font-size: var(--ft_14);
	}

}

.product_accessory {
	margin: 60px 0 0;
}

.product_accessory li {
	margin: 0 0 20px;
	border-radius: 20px;
	border: 1px solid #5d5d5d;
	overflow: hidden;
}

.product_accessory li .accessory_text {
	padding: 25px 30px;
	background: #5d5d5d;
	display: flex;
	align-items: center;
}

.product_accessory li figure {
	overflow: hidden;
}

.product_accessory li figure img {
	object-fit: cover;
	display: block;
	width: 100%;
	height: 100%;
}

.product_accessory li h3 {
	margin: 0 0 10px;
	color: #fff;
	font-size: var(--ft_18);
	font-weight: 700;
	display: flex;
	align-items: center;
}

.product_accessory li h3 .icon {
	margin: 0 8px 0 0;
	width: 50px;
	flex-shrink: 0;
}

.product_accessory li p {
	color: #fff;
	font-size: var(--ft_16);
}

.product_accessory li p.note {
	font-size: var(--ft_14);
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.6;
}

.product_accessory li p + p.note {
	margin: 10px 0 0;
}

@media screen and (min-width: 768px) {

	.product_accessory {
		margin: 130px 0 0;
	}

	.product_accessory ul {
		display: flex;
		gap: 40px;
		flex-wrap: wrap;
	}

	.product_accessory li {
		margin: 0;
		width: calc(50% - 20px);
		display: flex;
	}

	.product_accessory li figure {
		width: 40%;
	}

	.product_accessory li .accessory_text {
		padding: 15px 30px;
		width: 60%;
	}

	.product_accessory li h3 {
		margin: 0 0 15px;
		font-size: var(--ft_20);
	}

	.product_accessory li h3 .icon {
		margin: 0 5px 0 0;
		width: 65px;
	}

}

.product_support {
	margin: 60px 0 0;
}

.product_support_column {
	margin: 0 0 40px;
}

.product_support_column li {
	margin: 0 0 20px;
	border: 2px solid #d9e1ef;
	border-radius: 20px;
	overflow: hidden;
	background: #fff;
}

.product_support_column li a {
	padding: 25px 20px;
	display: block;
	background: url(../images/common/link_blue.svg) no-repeat right 20px center / 19px auto;
}

.product_support_column li a > div {
	display: flex;
	align-items: center;
}

.product_support_column li .icon_shop_search {
	width: 48px;
}

.product_support_column li .icon_download {
	width: 48px;
}

.product_support_column li .icon_topic {
	width: 48px;
}

.product_support_column li .icon_faq {
	width: 43px;
}

.product_support_column li h3 {
	margin: 0 0 0 10px;
	font-size: var(--ft_18);
	font-weight: 700;
}

.product_support_column li h3 span {
	margin: 3px 0 0;
	display: block;
	font-size: var(--ft_14);
}

@media screen and (min-width: 768px) {

	.product_support {
		margin: 130px 0 0;
	}

	.product_support_column {
		margin: 0 0 60px;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 5.4%;
	}

	.product_support_column li {
		margin: 0;
		aspect-ratio: 1 / 1;
	}

	.product_support_column li a {
		padding: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		height: 100%;
		background: url(../images/common/link_blue.svg) no-repeat right 10% bottom 10% / 19px auto;
		transition: all 0.25s ease;
	}

	.product_support_column li a:hover {
		background-color: #f1f8ff;
	}

	.product_support_column li a > div {
		display: block;
	}

	.product_support_column li .icon_shop_search {
		width: 60px;
	}

	.product_support_column li .icon_download {
		width: 60px;
	}

	.product_support_column li .icon_topic {
		width: 60px;
	}

	.product_support_column li .icon_faq {
		width: 54px;
	}

	.product_support_column li h3 {
		margin: 12px 0 0;
		font-size: var(--ft_20);
	}

}

.contact_box {
	margin: 0 0 40px;
	padding: 60px 30px;
	border-radius: 20px;
	background: var(--color_site);
	text-align: center;
}

.contact_box h2 {
	margin: 0 0 35px;
	color: #fff;
	font-weight: 700;
	font-size: var(--ft_18);
}

.contact_box p.tel {
	font-size: 2.125rem;
	line-height: 1.0;
	font-weight: 700;
}

.contact_box p.tel a {
	padding: 5px 0 5px 40px;
	color: #fff;
	background: url(../images/common/icon_tel.svg) no-repeat 0 center / 30px auto;
}

.contact_box .open {
	margin: 25px 0 0;
}

.contact_box .open p {
	color: #fff;
	font-weight: 500;
}

.contact_box .open .site_open {
	font-size: var(--ft_18);
}

.contact_box .open .site_close {
	font-size: var(--ft_14);
}

@media screen and (min-width: 768px) {

	.contact_box {
		margin: 0 0 80px;
		padding: 50px;
	}

	.contact_box h2 {
		margin: 0 0 15px;
		font-size: var(--ft_26);
	}

	.contact_box p.tel {
		font-size: 6.25rem;
	}

	.contact_box p.tel a {
		padding: 0 0 0 60px;
		background: url(../images/common/icon_tel.svg) no-repeat 0 center / 40px auto;
	}

	.contact_box .open {
		margin: 15px 0 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.contact_box .open p {
		font-weight: 700;
	}

	.contact_box .open .site_open {
		margin: 0 18px 0 0;
		font-size: var(--ft_26);
	}

	.contact_box .open .site_close {
		padding: 3px 0 3px 18px;
		border-left: 2px solid #fff;
		font-size: var(--ft_20);
	}

}

.btn_white_center {
	margin: 0 auto;
	font-size: var(--ft_18);
}

.btn_white_center a {
	padding: 25px 0;
	color: var(--color_site);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50px;
	border: 1px solid var(--color_site);
	transition: all 0.25s ease;
}

.btn_white_center .icon_arrow_left {
	margin: 0 5px 0 0;
	display: block;
	width: 19px;
	height: 11px;
	background: url(../images/common/link_blue.svg) no-repeat 0 0 / 100% auto;
	transform: rotate(180deg);
}

@media screen and (min-width: 768px) {

	.btn_white_center {
		font-size: var(--ft_20);
		width: 400px;
	}

	.btn_white_center a {
		padding: 30px 0;
	}

	.btn_white_center a:hover {
		background: var(--color_site);
		color: #fff;
	}

	.btn_white_center a:hover .icon_arrow_left {
		background: url(../images/common/link_white.svg) no-repeat 0 0 / 100% auto;
	}

}

/* -----------------
	製品情報一覧
----------------- */


.product_index {
	padding: 60px 0 0;
	text-align: center;
}

.product_index .notfound {
	margin: 0 0 40px;
	font-size: var(--ft_18);
	text-align: left;
}

.product_index > ul {
	margin: 0 0 20px;
}

.product_index > ul > li {
	margin: 0 0 20px;
	text-align: left;
}

.product_index > ul > li a {
	padding: 35px 40px 40px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	height: 100%;
	flex-direction: column;
}

.product_index li figure img {
	aspect-ratio: 694 / 520;
	object-fit: cover;
}

.product_index li figure.noimage {
	aspect-ratio: 694 / 520;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 20%;
}

.product_index li figure.noimage img {
	aspect-ratio: auto;
}

.product_index li h2 {
	margin: 40px 0 25px;
	padding: 0 0 15px;
	font-size: var(--ft_28);
	font-weight: 700;
	position: relative;
	border-bottom: 1px solid #6b8fd6;
}

.product_index li h2::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: -2px;
	width: 50px;
	height: 3px;
	background: #6b8fd6;
}

@media screen and (min-width: 768px) {

	.product_index {
		padding: 120px 0 0;
	}

	.product_index .notfound {
		margin: 0 0 80px;
		font-size: var(--ft_20);
		text-align: center;
	}

	.product_index > ul {
		margin: 0 0 100px;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 68px 5%;
	}

	.product_index > ul > li {
		margin: 0;
	}

	.product_index > ul > li a {
		padding: 35px 50px 50px;
		box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
		border-radius: 20px;
		overflow: hidden;
	}

	.product_index li h2 {
		margin: 60px 0 25px;
	}

}

.product_index li dl {
	margin: 0 0 12px;
	display: flex;
	align-items: center;
}

.product_index li dt {
	margin: 0 10px 0 0;
	width: 90px;
	position: relative;
	font-size: var(--ft_16);
}

.product_index li dt::after {
	position: absolute;
	content: '';
	right: 0;
	top: 12px;
	width: 30px;
	height: 1px;
	background: #6b8fd6;
}

.product_index li dd {
	font-size: var(--ft_16);
}

.product_index li p {
	margin: 0 0 25px;
	font-size: var(--ft_16);
}

@media screen and (min-width: 768px) {

	.product_index li dl {
		margin: 0 0 18px;
	}

	.product_index li p {
		margin: 0 0 20px;
	}

}

.product_tag {
	margin: 0 0 30px;
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
}

.product_tag li {
	padding: 0px 5px 2px;
	border-radius: 5px;
	color: #fff;
	font-size: var(--ft_14);
	background: #595959;
}

.product_tag li.option {
	border: 1px solid #595959;
	color: #333;
	background: #fff;

}

.product_index li .btn {
	margin-top: auto;
	padding: 15px 0;
	color: var(--color_site);
	font-size: var(--ft_16);
	border: 1px solid var(--color_site);
	border-radius: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.product_index li .btn .icon_arrow_b {
	margin-left: 10px;
}

@media screen and (min-width: 768px) {

	.product_tag {
		margin: 0 0 55px;
	}

	.product_index li  a:hover .btn {
		background: var(--color_site);
		color: #fff;
	}

}

.product_index .link {
	margin: 20px 0 0;
	font-size: var(--ft_16);
	display: inline-block;
}

.product_index .link a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color_site);
}

@media screen and (min-width: 768px) {

	.product_index .link {
		margin: 30px 0 0;
		font-size: var(--ft_20);
	}

	.product_index .link a {
		transition: all 0.25s ease;
	}

	.product_index .link a:hover {
		font-weight: 700;
		color: #0072ff;
	}

	.product_index .link a:hover .icon_arrow_b {
		background: url(../images/common/link_blue.svg) no-repeat 0 0 / 100% auto;
	}

}

.product_tag_info {
	margin: 50px 0 0;
	padding: 15px 20px;
	background: #f5f8fc;
	border-radius: 10px;
}

.product_tag_info th {
	padding: 10px 0 0;
	font-size: var(--ft_16);
	text-align: left;
	display: block;
	font-weight: 700;
}

.product_tag_info td {
	padding: 0 0 10px;
	font-size: var(--ft_12);
	line-height: 1.8;
	display: block;
}

@media screen and (min-width: 768px) {

	.product_tag_info {
		margin: 100px 0 0;
		padding: 40px 30px 40px 50px;
	}

	.product_tag_info th {
		padding: 10px 0;
		width: 190px;
		display: table-cell;
		font-weight: 400;
	}

	.product_tag_info th div {
		display: flex;
		align-items: center;
		white-space: nowrap;
	}

	.product_tag_info th div::after {
		content: "";
		flex-grow: 1;
		height: 1px;
		background: #333333;
		display: block;
		margin-left: 8px;
	}

	.product_tag_info td {
		padding: 10px 0 10px 10px;
		display: table-cell;
		font-size: var(--ft_14);
	}

}

.product_index_topic .topic_index {
	padding-top: 0;
}

.product_index_topic h2 {
	margin: 45px 0 40px;
	padding: 8px 0 8px 42px;
	font-size: var(--ft_26);
	font-weight: 700;
	line-height: 1.2;
	font-family: "Lato", sans-serif;
	background: url(../images/common/icon_h2.svg) no-repeat 0 center / 30px auto;
}

.product_index_topic h3 {
	margin: 20px 0 25px;
	padding: 0 0 15px;
	font-size: var(--ft_18);
	font-weight: 700;
	position: relative;
	border-bottom: 1px solid #6b8fd6;
}

.product_index_topic h3::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: -2px;
	width: 50px;
	height: 3px;
	background: #6b8fd6;
}

@media screen and (min-width: 768px) {

	.product_index_topic h2 {
		margin: 90px 0 80px;
		margin-top: 90px;
		padding: 0 0 0 55px;
		font-size: 3.125rem;
		background: url(../images/common/icon_h2.svg) no-repeat 0 8px / 36px auto;
	}

	.product_index_topic h3  {
		margin: 30px 0 20px;
		padding: 0 0 25px;
		font-size: var(--ft_20);
	}

}

/* -----------------
	取扱店舗検索
----------------- */

.shop_list_pref {
	display: none;
}

.shop_list .notfound {
	margin: 0 0 60px;
	font-size: var(--ft_16);
}

.page_title_category {
	margin: 0 0 14px;
	display: block;
	font-size: var(--ft_16);
}

.shop_index {
	padding: 50px 0 0;
}

.shop_index h2 {
	margin: 0 0 25px;
	font-weight: 700;
	line-height: 1.4;
	font-size: var(--ft_18);
}

@media screen and (min-width: 768px) {

    .shop_list .notfound {
		margin: 0 0 120px;
		font-size: var(--ft_20);
		text-align: center;
    }

	.page_title_category {
		margin: 0 0 18px;
		font-size: var(--ft_20);
	}

	.shop_index {
		padding: 120px 0 0;
		text-align: center;
	}

	.shop_index h2 {
		margin: 0 0 30px;
		text-align: center;
		font-size: var(--ft_24);
	}

}

.shop_search {
	text-align: center;
}

.shop_search_box {
	margin: 0 auto 20px;
	padding: 35px 0;
	border: 3px solid #e5ebf3;
	border-radius: 20px;
	text-align: left;
}

.shop_search_title {
	margin: 0 0 20px;
}

.shop_search_title h3 {
	font-size: var(--ft_16);
	font-weight: 700;
	line-height: 1.3;
	padding: 0 0 0 20px;
	position: relative;
}

.shop_search_title h3::after {
	position: absolute;
	content: '';
	left: -3px;
	top: 0;
	width: 3px;
	height: 100%;
	background: #94b2d9;
}

.shop_search_title h3 span {
	margin: 0 0 8px;
	display: block;
	color: var(--color_site);
}

@media screen and (min-width: 768px) {

	.shop_search_box {
		margin: 0 auto 60px;
		padding: 50px 0 55px;
		border: 5px solid #e5ebf3;
		width: 850px;
	}

	.shop_search_title {
		margin: 0 0 30px;
	}

	.shop_search_title h3 {
		font-size: var(--ft_20);
		padding: 0 0 0 55px;
	}

	.shop_search_title h3::after {
		left: -5px;
		width: 5px;
	}

}

.shop_search_radio {
	margin: 0 20px 35px;
	padding: 0 0 5px;
	position: relative;
}

.shop_search_radio::before {
	position: absolute;
	content: '';
	left: 0;
	bottom: 0;
	width: 100%;
	height: 5px;
	background: #e5ebf3;
	border-radius: 10px;
}

.shop_search_radio::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	bottom: -10px;
	margin: auto;
	width: 0;
	height: 0;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 10px solid #e5ebf3;
}

@media screen and (min-width: 768px) {

	.shop_search_radio {
		margin: 0 55px 50px;
		padding: 0 0 60px;
		display: flex;
		gap: 30px;
	}

	.shop_search_radio::after {
		bottom: -13px;
		border-left: 20px solid transparent;
		border-right: 20px solid transparent;
		border-top: 13px solid #e5ebf3;
	}

}

.shop_search_radio .shop_type_box {
	margin: 0 0 20px;
	border: 1px solid var(--color_site);
	border-radius: 10px;
	width: 100%;
	font-size: var(--ft_16);
	font-weight: 700;
	display: flex;
	align-items: center;
}

.shop_search_radio .shop_type_box label {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 20px;
	width: 100%;
}

.shop_search_radio .shop_type_box .icon_store {
	margin: 0 10px;
	display: block;
	width: 34px;
	height: 28px;
	background: url(../images/common/icon_shop.svg) no-repeat 0 0 / 100% auto;
}

.shop_search_radio .shop_type_box .icon_service {
	margin: 0 10px;
	display: block;
	width: 35px;
	height: 32px;
	background: url(../images/common/icon_repair.svg) no-repeat center 0 / 20px auto;
}

.shop_search_radio .shop_type_box input[type="radio"] {
	display: block;
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.shop_search_radio .shop_type_box .radio_btn {
	position: relative;
	width: 25px;
	height: 25px;
}

.shop_search_radio .shop_type_box .radio_btn::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	box-sizing: border-box;
	content: '';
	border: 2px solid #c0d2eb;
	border-radius: 50%;
	width: 25px;
	height: 25px;
}

.shop_search_radio .shop_type_box input[type="radio"]:checked + .radio_btn::after {
	position: absolute;
	top: 5px;
	left: 5px;
	display: block;
	width: 15px;
	height: 15px;
	content: '';
	border-radius: 50%;
	background: var(--color_site);
}

@media screen and (min-width: 768px) {

	.shop_search_radio .shop_type_box {
		margin: 0;
		font-size: var(--ft_20);
	}

	.shop_search_radio .shop_type_box label {
		padding: 20px;
	}

	.shop_search_radio .shop_type_box .icon_store {
		margin: 0 10px 0 20px;
		width: 42px;
		height: 34px;
	}

	.shop_search_radio .shop_type_box .icon_service {
		margin: 0 10px 0 20px;
		width: 28px;
		height: 43px;
		background: url(../images/common/icon_repair.svg) no-repeat 0 0 / 100% auto;
	}

	.shop_search_radio .shop_type_box .radio_btn {
		position: relative;
		width: 40px;
		height: 40px;
	}

	.shop_search_radio .shop_type_box .radio_btn::before {
		width: 40px;
		height: 40px;
	}

	.shop_search_radio .shop_type_box input[type="radio"]:checked + .radio_btn::after {
		top: 7.5px;
		left: 7.5px;
		width: 25px;
		height: 25px;
	}

}

.shop_search_select_column {
	padding: 0 20px;
}

.shop_search_select_box {
	position: relative;
}

.shop_search_select_box::after {
	position: absolute;
	content: '';
	right: 20px;
	width: 8px;
	height: 24px;
	top: 0;
	bottom: 0;
	margin: auto;
	background: url(../images/common/icon_select.png) no-repeat 0 0 / 100% auto;
}

.shop_search_select {
	border: 1px solid var(--color_site);
	padding: 25px 20px;
	border-radius: 10px;
	font-size: var(--ft_16);
	font-weight: 700;
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	position: relative;
	background: transparent;
	cursor: pointer;
	z-index: 1;
	color: inherit;
}

.btn_search {
	margin: 0 auto;
	padding: 20px 0;
	border-radius: 10px;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	border: none;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: var(--ft_16);
	font-weight: 700;
	width: 100%;
	background: #f6e154;
	font-style: normal;
	color: #333;
}

.btn_search .icon_search {
	margin: 0 10px 0 0;
	display: block;
	width: 24px;
	height: 24px;
	background: url(../images/common/icon_search.svg) no-repeat 0 center / 100% auto;
}

.btn_search:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	background: #eeeeee;
}

..btn_search:not(:disabled) {
  opacity: 1;
  cursor: pointer;
}

@media screen and (min-width: 768px) {

	.shop_search_select_column {
		padding: 0 55px;
	}

	.shop_search_select_box {
		display: inline-block;
	}

	.shop_search_select {
		padding: 30px 40px;
		width: 500px;
	}

	.btn_search {
		width: 500px;
		font-size: var(--ft_20);
	}

	.btn_search .icon_search {
		margin: 0 5px 0 0;
		width: 30px;
		height: 30px;
	}

	.btn_search:hover {
		background: #fff600;
	}

	.btn_search.btn_gray {
		background: #eeeeee;
	}

}

.shop_list {
	margin: 60px 0 0;
}

.shop_list .shop_list_pref {
	margin: 0 0 30px;
	padding: 0 0 20px 32px;
	font-size: var(--ft_20);
	font-weight: 700;
	position: relative;
	background: url(../images/common/icon_area.svg) no-repeat 0 0 / 21px auto;
}

.shop_list .shop_list_pref::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: 0;
	width: 100%;
	height: 3px;
	background: #e5ebf3;
	border-radius: 5px;
}

@media screen and (min-width: 768px) {

	.shop_list {
		margin: 130px 0 0;
	}

	.shop_list .shop_list_pref {
		margin: 0 0 50px;
		padding: 0 0 20px 35px;
		font-size: var(--ft_28);
		background: url(../images/common/icon_area.svg) no-repeat 0 0 / 27px auto;
	}

	.shop_list .shop_list_pref::after {
		height: 5px;
	}

}

.shop_list ul {
	margin: 0 0 20px;
}

.shop_list li {
	margin: 0 0 20px;
	padding: 25px 20px 20px;
	border: 1px solid var(--color_site);
	border-radius: 10px;
}

.shop_list li .shop_info {
	margin: 0 0 20px;
}

.shop_list li .shop_name {
	margin: 0 0 10px;
	font-size: var(--ft_20);
	line-height: 1.2;
	font-weight: 700;
	position: relative;
}

.shop_list li .shop_name::after {
	position: absolute;
	content: '';
	left: -20px;
	top: 0;
	width: 2px;
	height: 36px;
	background: var(--color_site);
}

@media screen and (min-width: 768px) {

	.shop_list ul {
		margin: 0 0 80px;
	}

	.shop_list li {
		margin: 0 0 10px;
		padding: 25px 40px 15px;
		border-radius: 20px;
		display: flex;
		justify-content: space-between;
	}

	.shop_list li .shop_info {
		margin: 0 20px 0 0;
	}

	.shop_list li .shop_name {
		margin: 0 0 20px;
		font-size: 1.875rem;
	}

	.shop_list li .shop_name::after {
		left: -40px;
		top: 7px;
		width: 5px;
		height: 33px;
	}

}

.shop_list li p.shop_comment {
	margin: 0 0 10px;
}

.shop_list li .address p {
	margin: 0;
	font-size: var(--ft_16);
}

.shop_list li .open dl {
	margin: 0 0 10px;
	display: flex;
	gap: 20px;
}


@media screen and (min-width: 768px) {

	.shop_list li .address {
		margin: 0 0 10px;
		display: flex;
		flex-wrap: wrap;
	}

	.shop_list li .address p.zip {
		margin: 0 20px 0 0;
		white-space: nowrap;
	}

	.shop_list li .open:has(p) {
		display: flex;
		flex-wrap: wrap;
	}

}

.shop_list li .type {
	margin: 0 0 5px;
	display: flex;
	align-items: center;
}

.shop_list li .type p {
	margin: 0 20px 0 0;
	font-size: var(--ft_16);
	display: flex;
	align-items: center;
	white-space: nowrap;
	opacity: 0.2;
}

.shop_list li .type.store .type_store  {
	opacity: 1;
}

.shop_list li .type.service .type_service  {
	opacity: 1;
}

.shop_list li .icon_store {
	margin: 0 10px 0 0;
	display: block;
	width: 35px;
	height: 28px;
	background: url(../images/common/icon_shop.svg) no-repeat 0 0 / 100% auto;
}

.shop_list li .icon_service {
	margin: 0 10px 0 0;
	display: block;
	width: 22px;
	height: 34px;
	background: url(../images/common/icon_repair.svg) no-repeat 0 0 / 100% auto;
}

@media screen and (min-width: 768px) {

	.shop_list li .type {
		margin: 0 0 5px;
		justify-content: flex-end;
	}

	.shop_list li .type p {
		margin: 0 0 0 30px;
	}

}

.shop_list li .tel_url {
	margin: 20px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--color_site);
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.shop_list li .tel_url p {
	font-size: var(--ft_16);
	display: flex;
	align-items: center;
	white-space: nowrap;
}

.shop_list li p.tel {
	font-size: var(--ft_18);
	font-weight: 700;
}

.shop_list li p.tel a {
	display: flex;
	align-items: center;
	white-space: nowrap;
}

.shop_list li .icon_tel {
	margin: 3px 5px 0 0;
	display: block;
	width: 16px;
	height: 24px;
	background: url(../images/common/icon_tel_b.svg) no-repeat 0 0 / 100% auto;
}

.shop_list li p.url {
	font-size: var(--ft_14);
}

.shop_list li .url a {
	padding: 5px 15px;
	display: flex;
	color: var(--color_site);
	align-items: center;
	border: 1px solid var(--color_site);
	border-radius: 30px;
	transition: all 0.25s ease;
}

.shop_list li .url .icon_blank {
	margin: 0 0 0 5px;
	display: block;
	width: 12px;
	height: 12px;
	background: url(../images/common/icon_link.svg) no-repeat 0 0 / 100% auto;
}

@media screen and (min-width: 768px) {

	.shop_list li .tel_url {
		margin: 0;
		padding: 0;
		border: none;
		justify-content: flex-end;
		flex-wrap: wrap;
	}

	.shop_list li .tel_url p {
		margin: 0 0 0 20px;
	}

	.shop_list li p.tel {
		margin-top: 15px;
		margin-bottom: 15px;
		font-size: var(--ft_26);
	}

	.shop_list li .icon_tel {
		margin: 4px 10px 0 0;
		width: 20px;
		height: 30px;
	}

	.shop_list li p.url {
		font-size: var(--ft_16);
	}

	.shop_list li .url .icon_blank {
		margin: 0 0 0 10px;
		width: 15px;
		height: 15px;
	}

	.shop_list li .url a:hover {
		background: var(--color_site);
		color: #fff;
	}

	.shop_list li .url a:hover .icon_blank {
		background: url(../images/common/icon_link_w.svg) no-repeat 0 0 / 100% auto;
	}

}

/* -----------------
	お役立ち情報一覧
----------------- */

.topic_index {
	padding: 60px 0 0;
}

.topic_index li {
	margin: 0 0 60px;
}

.topic_index li figure {
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid var(--color_site);
}

.topic_index li figure img {
	aspect-ratio: 694 / 520;
	object-fit: cover;
}

.topic_index li figure.noimage {
	aspect-ratio: 694 / 520;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 20%;
}

.topic_index li figure.noimage img {
	aspect-ratio: auto;
}

.topic_index li h2 {
	margin: 20px 0 25px;
	padding: 0 0 15px;
	font-size: var(--ft_18);
	font-weight: 700;
	position: relative;
	border-bottom: 1px solid #6b8fd6;
}

.topic_index li h2::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: -2px;
	width: 50px;
	height: 3px;
	background: #6b8fd6;
}

.topic_index li p {
	margin: 0 0 20px;
	font-size: var(--ft_16);
}

.topic_index li a .btn {
	padding: 15px 0;
	color: var(--color_site);
	font-size: var(--ft_16);
	border: 1px solid var(--color_site);
	border-radius: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.25s ease;
}

.topic_index li .btn .icon_arrow_b {
	margin-left: 10px;
}

.topic_index li a.nolink .btn {
	display: none;
}

@media screen and (min-width: 768px) {

	.topic_index {
		padding: 120px 0 0;
	}

	.topic_index > ul {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 80px 6.6%;
	}

	.topic_index li {
		margin: 0;
	}

	.topic_index li h2 {
		margin: 30px 0 20px;
		padding: 0 0 25px;
		font-size: var(--ft_20);
	}

	.topic_index li p {
		margin: 0 0 30px;
	}

	.topic_index li a:hover .btn {
		background: var(--color_site);
		color: #fff;
	}

}

/* -----------------
	ページャー
----------------- */

.pager {
	margin: 60px 0 0;
	padding: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #f4f7fb;
	border-radius: 50px;
}

.pager .pager_prev {
	margin-right: auto;
}

.pager .pager_next {
	margin-left: auto;
}

.pager .pager_prev,
.pager .pager_next {
	width: 100px;
}

.pager .pager_prev a,
.pager .pager_next a {
	height: 55px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50px;
	border: 1px solid var(--color_site);
	font-size: var(--ft_14);
	color: var(--color_site);
	background: #fff;
	transition: all 0.25s ease;
}

.pager .pager_prev i {
	margin: 0 5px 0 0;
}
.pager .pager_next i {
	margin: 0 0 0 5px;
}

.pager .pager_prev .icon_arrow_b {
	transform: rotate(180deg);
}

@media screen and (min-width: 768px) {

	.pager {
		margin: 80px 0 0;
	}

	.pager .pager_prev,
	.pager .pager_next {
		width: 250px;
	}

	.pager .pager_prev i {
		margin: 0 10px 0 0;
	}
	.pager .pager_next i {
		margin: 0 0 0 10px;
	}


	.pager .pager_prev a:hover,
	.pager .pager_next a:hover {
		background: var(--color_site);
		color: #fff;
	}

}

@media screen and (min-width: 768px) and (max-width: 999px) {

	.pager .pager_prev a,
	.pager .pager_next a {
		width: 150px;
	}

}

.pager .pager_list {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: var(--ft_16);
}

.pager .pager_list_item {
	display: none;
}

.pager .pager_list_item.cur {
	display: block;
}

.pager .pager_list_item.cur span,
.pager .pager_list_item a {
	color: var(--color_site);
}

.pager .pager_list_item.cur span {
	border-color: var(--color_site);
	font-weight: 700;
}

@media screen and (min-width: 768px) {

	.pager .pager_list {
		margin: 0 30px;
	}

	.pager .pager_list_item {
		margin: 0 5px;
		display: block;
	}

	.pager .pager_list_item.cur span,
	.pager .pager_list_item a {
		display: flex;
		justify-content: center;
		align-items: center;
		background: #fff;
		border: 1px solid #fff;
		width: 55px;
		height: 55px;
		border-radius: 50%;
		color: var(--color_site);
		transition: all 0.25s ease;
	}

	.pager .pager_list_item a:hover {
		background: var(--color_site);
		color: #fff;
	}

	.pager .pager_list_item.cur span {
		border-color: var(--color_site);
		font-weight: 700;
	}

}

/* -----------------
	よくあるご質問
----------------- */

.faq .page_main {
	padding-bottom: 0;
}

.faq_index {
	padding: 60px 0 0;
}

.faq_search_column {
	margin: 0 0 50px;
}

.faq_search_input {
	border: 1px solid var(--color_site);
	border-radius: 10px;
	display: flex;
	justify-content: space-between;
	width: 100%;
	overflow: hidden;
}

.faq_search_input input[type="search"] {
	padding: 15px 15px;
	width: calc(100% - 55px);
	font-size: var(--ft_16);
	border: none;
	background: #fff;
}

.faq_search_input button {
	background: var(--color_site);
	border: none;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 55px;
	height: 55px;
}

.faq_search_input button img {
	width: 21px;
	height: 21px;
}

@media screen and (min-width: 768px) {

	.faq_index {
		padding: 120px 0 100px;
	}

	.faq_search_column {
		margin: 0 0 70px;
	}

	.faq_search_input {
		width: 550px;
	}

	.faq_search_input input[type="search"] {
		padding: 20px 20px;
		width: calc(100% - 60px);
	}

	.faq_search_input button {
		width: 60px;
		height: 60px;
	}

}

.faq_index_category {
	margin: 0 0 50px;
}

.faq_index_category h2 {
	margin: 0 0 20px;
	padding: 0 0 15px;
	font-size: var(--ft_22);
	font-weight: 700;
	border-bottom: 1px solid var(--color_site);
	position: relative;
}

.faq_index_category h2::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: -2px;
	width: 100px;
	height: 3px;
	background: var(--color_site);
}

@media screen and (min-width: 768px) {

	.faq_index_category {
		margin: 0 0 75px;
	}

	.faq_index_category h2 {
		margin: 0 0 30px;
		padding: 0 0 30px;
		font-size: 1.875rem;
	}

}

.faq_index_category li {
	margin: 0 0 10px;
}

.faq_index_category li a {
	padding: 20px;
	border: 3px solid #d9e1ef;
	border-radius: 10px;
	display: flex;
	align-items: center;
	color: var(--color_site);
	transition: all 0.25s ease;
}

.faq_index_category li h3 {
	margin: 0 10px 0 0;
	font-size: var(--ft_16);
	font-weight: 700;
	display: flex;
	align-items: center;
	line-height: 1.5;
}

.faq_index_category li h3 .icon_q {
	margin: 0 10px 0 0;
	display: block;
	width: 17px;
	height: 24px;
	flex-shrink: 0;
	background: url(../images/common/icon_q.svg) no-repeat 0 center / 100% auto;
}

.faq_index_category li .icon_arrow_b {
	margin: 0 0 0 auto;
	flex-shrink: 0;
}

.faq_index_category li a:hover .icon_arrow_b {
	background: url(../images/common/link_blue.svg) no-repeat 0 0 / 100% auto;
}

@media screen and (min-width: 768px) {

	.faq_index_category li a {
		padding: 20px;
	}

	.faq_index_category li a:hover {
		background: #f1f8ff;
	}

	.faq_index_category li h3 {
		margin: 0 20px 0 0;
	}

	.faq_index_category li h3 .icon_q {
		margin: 0 20px 0 0;
		width: 21px;
		height: 30px;
	}

}

.faq_title h1 {
	padding: 18px 20px;
	font-size: var(--ft_18);
	font-weight: 700;
	line-height: 1.4;
	background: #f4f7fb;
	display: flex;
	align-items: center;
}

.faq_title h1 .icon_q {
	margin: 0 10px 0 0;
	display: block;
	width: 18px;
	height: 26px;
	flex-shrink: 0;
	background: url(../images/common/icon_q.svg) no-repeat 0 center / 100% auto;
}

.faq_entry .entry_inner {
	padding: 60px 0 40px;
}

.faq_entry .entry_column {
	padding: 30px 0 0 20px;
	position: relative;
	display: flex;
}

.faq_entry .entry_column .icon_q {
	margin: 7px 15px 0 0;
	width: 18px;
	height: 24px;
	background: url(../images/common/icon_a.svg) no-repeat 0 0 / 100% auto;
	flex-shrink: 0;
}

@media screen and (min-width: 768px) {

	.faq_title h1 {
		padding: 30px;
		font-size: var(--ft_20);
	}

	.faq_title h1 .icon_q {
		margin: 0 20px 0 0;
		width: 21px;
		height: 30px;
	}

	.faq_entry .entry_inner {
		padding: 130px 0 60px;
	}

	.faq_entry .entry_column {
		padding: 50px 30px 0;
	}

	.faq_entry .entry_column .icon_q {
		margin: 8px 20px 0 0;
		width: 23px;
		height: 25px;
	}

}

.btn_faq_top {
	text-align: center;
}

.btn_faq_top a {
	padding: 18px 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color_site);
	color: var(--color_site);
	font-size: var(--ft_16);
	border-radius: 50px;
}

.btn_faq_top a .icon_arrow_b {
	margin: 0 10px 0 0;
	transform: rotate(180deg);
}

@media screen and (min-width: 768px) {

	.btn_faq_top {
		margin: 0 auto;
		width: 400px;
	}

	.btn_faq_top a {
		padding: 30px 0;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 1px solid var(--color_site);
		color: var(--color_site);
		font-size: var(--ft_20);
		border-radius: 50px;
	}

	.btn_faq_top a:hover {
		background: var(--color_site);
		color: #fff;
	}

	.btn_faq_top a .icon_arrow_b {
		margin: 0 10px 0 0;
		transform: rotate(180deg);
	}

}

.faq_result {
	padding: 50px 0 0;
}

.faq_result h2 {
	margin: 0 0 10px;
	font-size: var(--ft_24);
	font-weight: 700;
}

.faq_result .amount {
	font-size: var(--ft_16);
}

.faq_result .notfound {
	font-size: var(--ft_16);
}

.faq_result_list {
	margin: 40px 0 0;
}

.faq_result_list li {
	margin: 0 0 10px;
}

.faq_result_list li a {
	padding: 15px;
	border: 2px solid #d9e1ef;
	border-radius: 10px;
	display: flex;
	align-items: center;
}

.faq_result_list li a > div {
	margin: 0 10px 0 0;
}

.faq_result_list li h3 {
	display: flex;
	align-items: center;
	font-size: var(--ft_16);
	font-weight: 700;
	color: var(--color_site);
}

.faq_result_list li h3 .highlight1 {
	color: var(--color_site);
}

.faq_result_list li h3 .icon_q {
	margin: 0 10px 0 0;
	display: block;
	width: 18px;
	height: 26px;
	flex-shrink: 0;
	background: url(../images/common/icon_q.svg) no-repeat 0 center / 100% auto;
}

.faq_result_list li p {
	margin: 15px 0 0 25px;
}

.faq_result_list li a .icon_arrow_b {
	margin: 0 0 0 auto;
}

.faq_result .btn_faq_top {
	margin-top: 60px
}

@media screen and (min-width: 768px) {

	.faq_result {
		padding: 130px 0 0;
	}

	.faq_result h2 {
		margin: 0 0 20px;
		font-size: 1.875rem;
		font-weight: 700;
	}

	.faq_result_list {
		margin: 70px 0 0;
	}

	.faq_result_list li a {
		padding: 20px;
		border-radius: 20px;
	}

	.faq_result_list li a:hover {
		background: #f1f8ff;
	}

	.faq_result_list li a:hover .icon_arrow_b {
		background: url(../images/common/link_blue.svg) no-repeat 0 0 / 100% auto;
	}

	.faq_result_list li a > div {
		margin: 0 20px 0 0;
	}

	.faq_result_list li h3 .icon_q {
		margin: 0 10px 0 0;
		width: 22px;
		height: 32px;
	}

	.faq_result_list li p {
		margin: 15px 0 0 35px;
	}

	.faq_result .btn_faq_top {
		margin-top: 80px
	}

}


/* -----------------
	パンくず
----------------- */

.path {
	overflow-x: auto;
	width: 100%;
}

.path ol {
	list-style: none;
	display: flex;
}

.path li {
	font-size: var(--ft_10);
	white-space: nowrap;
	background: url(../images/common/path_b.svg) no-repeat 0 center / auto 9px;
}

.path li:first-child {
	background-image: none;
}

.path li span,
.path li a {
	padding: 10px 5px 10px 10px;
	display: block;
}

.path li:first-child span,
.path li:first-child a {
	padding-left: 7px;
	padding-right: 5px;
}


@media screen and (min-width: 768px) {

	.path {
		position: absolute;
		top: 15px;
		left: 10px;
		overflow-x: auto;
		width: auto;
	}

	.path li {
		font-size: var(--ft_14);
		background: url(../images/common/path_w.svg) no-repeat 0 center / auto 11px;
	}

	.path li span,
	.path li a {
		padding: 10px 20px 10px 25px;
		color: #fff;
	}

	.path li:first-child span,
	.path li:first-child a {
		padding-left: 15px;
		padding-right: 15px;
	}

}

/* -----------------
	ユニットパーツ
----------------- */

.entry-container {
	margin: 0;
}

.media-image-block {
	margin: 0 0 25px;
}

.media-image-block.align-center figure {
	margin-left: auto;
	margin-right: auto;
}

.media-image-block.align-left figure {
	margin-right: auto;
}

.media-image-block.align-right figure {
	margin-left: auto;
}

.media-image-block a {
	display: block;
}

.media-image-block img {
	border-radius: 10px;
	width: 100%;
	height: auto;
}

.align-center {
	text-align: center;
}

.entry_column p {
	margin: 0 0 15px;
	font-size: var(--ft_16);
	line-height: 1.5;
}

.entry_column p:has(+ p.note_indent) {
	margin-bottom: 0;
}

.entry_column p.note,
.entry_column p.note_indent {
	margin: 0;
	font-size: var(--ft_14);
	line-height: 1.5;
}

.entry_column p.note_indent {
	margin: 0 0 25px;
	text-indent: -1em;
	padding-left: 1em;
}

.entry_column .hr_line {
	margin: 55px 0;
	background: #f4f7fb;
	height: 5px;
	border: none;
	position: relative;
}

.entry_column .hr_line::before,
.entry_column .hr_line::after {
	position: absolute;
	content: '';
	top: 0;
	height: 5px;
	width: 30px;
	background: #cedef4;
}

.entry_column .hr_line::before {
	left: 0;
}

.entry_column .hr_line::after {
	right: 0;
}

.entry_column .hr_line + h2,
.entry_column .hr_line + h3,
.entry_column .hr_line + h4,
.entry_column .hr_line + h5 {
	margin-top: 0;
}

@media screen and (min-width: 768px) {

	.media-image-block {
		margin: 0 0 45px;
	}

	.entry_column p {
		margin: 0 0 20px;
		line-height: 1.6;
	}

	.entry_column p.note {
		line-height: 1.7;
	}

	.entry_column p.note_indent {
		margin: 0 0 15px;
	}

	.entry_column .hr_line {
		margin: 120px 0;
	}

}

.entry_column h2 {
	margin: 35px 0 30px;
	padding: 8px 0 8px 42px;
	font-size: var(--ft_26);
	font-weight: 700;
	line-height: 1.2;
	font-family: "Lato", sans-serif;
	background: url(../images/common/icon_h2.svg) no-repeat 0 center / 30px auto;
}

.entry_column > h2:first-child,
.entry_column > .column-block-editor:first-child > h2:first-child {
	margin-top: 0;
}

.entry_column h3 {
	margin: 30px 0 20px;
	padding: 0 0 10px;
	font-size: var(--ft_24);
	font-weight: 700;
	line-height: 1.4;
	border-bottom: 1px solid #5d5d5d;
	font-family: "Lato", sans-serif;
}

.entry_column h4 {
	margin: 25px 0 10px;
	padding: 5px 0 5px 25px;
	font-size: var(--ft_20);
	line-height: 1.4;
	font-weight: 700;
	font-family: "Lato", sans-serif;
	border-left: 1px solid var(--color_site);
	position: relative;
}

.entry_column h4::after {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	left: 4px;
	width: 1px;
	height: 100%;
	background: var(--color_site);
}

.entry_column h5 {
	margin: 20px 0 10px;
	padding: 0 0 10px;
	font-size: var(--ft_18);
	font-weight: 700;
	line-height: 1.4;
	position: relative;
	font-family: "Lato", sans-serif;
}

.entry_column h5::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: 0;
	width: 40px;
	height: 1px;
	background: var(--color_site);
}

@media screen and (min-width: 768px) {

	.entry_column h2 {
		margin: 70px 0 60px -60px;
		padding: 0 0 0 55px;
		font-size: 3.125rem;
		background: url(../images/common/icon_h2.svg) no-repeat 0 8px / 36px auto;
	}

	.entry_column h3 {
		margin: 50px 0 35px;
		padding: 0 0 15px;
		font-size: 2.25rem;
	}

	.entry_column h4 {
		margin: 35px 0 20px;
		padding: 0 0 0 25px;
		font-size: 1.875rem;
		line-height: 1.3;
	}

	.entry_column h5 {
		margin: 20px 0 10px;
		padding: 0 0 14px;
		font-size: var(--ft_28);
		line-height: 1.4;
	}

	.entry_column h5::after {
		width: 50px;
	}

}

.entry_column p a {
	padding-right: 30px;
	color: #333;
	text-decoration: underline var(--color_site);
	text-underline-offset: 4px;
	background: url(../images/common/link_blue.svg) no-repeat right 10px center / 18px auto;
}

.entry_column p a[target="_blank"] {
  padding-right: 30px;
  background: url(../images/common/icon_link.svg) no-repeat right 10px center / 15px auto;
}

.entry_column p.link_normal a {
	padding-right: 30px;
	color: var(--color_blue);
	text-decoration: none;
}

.entry_column p.link_btn {
	margin: 20px 0;
}

.entry_column p.link_btn a {
	padding: 14px 45px 16px 25px;
	display: inline-block;
	color: var(--color_blue);
	text-decoration: none;
	border: 1px solid var(--color_blue);
	border-radius: 50px;
}

.entry_column p.link_normal a {
	background: url(../images/common/link_blue.svg) no-repeat right 10px center / 15px auto;
}

.entry_column p.link_normal a[target="_blank"] {
	background: url(../images/common/icon_link.svg) no-repeat right 10px center / 12px auto;
}

.entry_column p.link_btn a {
	background: url(../images/common/link_blue.svg) no-repeat right 25px center / 15px auto;
}

.entry_column p.link_btn a[target="_blank"] {
	background: url(../images/common/icon_link.svg) no-repeat right 25px center / 12px auto;
}

.entry_column p.link_normal a[href*="/PDF/"] {
	background: url(../images/common/icon_pdf.svg) no-repeat right 10px center / 12px auto;
}

.entry_column p.link_btn a[href*="/PDF/"] {
	background: url(../images/common/icon_pdf.svg) no-repeat right 25px center / 12px auto;
}

.entry_column p.link_normal a[href*="/XLS/"],
.entry_column p.link_normal a[href*="/XLSX/"] {
	background: url(../images/common/icon_excel.svg) no-repeat right 10px center / 12px auto;
}

.entry_column p.link_btn a[href*="/XLS/"],
.entry_column p.link_btn a[href*="/XLSX/"] {
	background: url(../images/common/icon_excel.svg) no-repeat right 25px center / 12px auto;
}

.entry_column p.link_normal a[href*="/DOC/"],
.entry_column p.link_normal a[href*="/DOCX/"] {
	background: url(../images/common/icon_word.svg) no-repeat right 10px center / 12px auto;
}

.entry_column p.link_btn a[href*="/DOC/"],
.entry_column p.link_btn a[href*="/DOCX/"] {
	background: url(../images/common/icon_word.svg) no-repeat right 25px center / 12px auto;
}

.entry_column p.link_normal a[href*="/PPT/"],
.entry_column p.link_normal a[href*="/PPTX/"] {
	background: url(../images/common/icon_powerpoint.svg) no-repeat right 10px center / 12px auto;
}

.entry_column p.link_btn a[href*="/PPT/"],
.entry_column p.link_btn a[href*="/PPTX/"] {
	background: url(../images/common/icon_powerpoint.svg) no-repeat right 25px center / 12px auto;
}

.entry_column p.link_btn_center_back,
.entry_column p.link_btn_center {
	margin: 30px 0;
	text-align: center;
	font-size: var(--ft_18);
}

.entry_column p.link_btn_center_back a,
.entry_column p.link_btn_center a {
	padding: 22px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: var(--color_blue);
	text-decoration: none;
	border: 1px solid var(--color_blue);
	border-radius: 60px;
	position: relative;
	background: none;
}

.entry_column p.link_btn_center a::after {
	content: "";
	width: 15px;
	height: 8px;
	background: url(../images/common/link_blue.svg) no-repeat center / contain;
}

.entry_column p.link_btn_center_back a::before {
	content: "";
	width: 15px;
	height: 8px;
	background: url(../images/common/link_blue.svg) no-repeat center / contain;
	transform: rotate(180deg);
}

@media screen and (min-width: 768px) {

	.entry_column p a:hover {
		color: var(--color_site);
	}

	.entry_column p.link_btn {
		margin: 30px 0;
	}

	.entry_column p.link_btn a {
		padding: 15px 50px 15px 30px;
	}

	.entry_column p.link_normal a {
		background: url(../images/common/link_blue.svg) no-repeat right 10px center / 18px auto;
	}

	.entry_column p.link_normal a[target="_blank"] {
		background: url(../images/common/icon_link.svg) no-repeat right 10px center / 15px auto;
	}

	.entry_column p.link_btn a[target="_blank"] {
		background: url(../images/common/icon_link.svg) no-repeat right 25px center / 15px auto;
	}

	.entry_column p.link_normal a[href*="/PDF/"] {
		background: url(../images/common/icon_pdf.svg) no-repeat right 10px center / 15px auto;
	}

	.entry_column p.link_btn a[href*="/PDF/"] {
		background: url(../images/common/icon_pdf.svg) no-repeat right 25px center / 15px auto;
	}

	.entry_column p.link_normal a[href*="/XLS/"],
	.entry_column p.link_normal a[href*="/XLSX/"] {
		background: url(../images/common/icon_excel.svg) no-repeat right 10px center / 15px auto;
	}

	.entry_column p.link_btn a[href*="/XLS/"],
	.entry_column p.link_btn a[href*="/XLSX/"] {
		background: url(../images/common/icon_excel.svg) no-repeat right 25px center / 15px auto;
	}

	.entry_column p.link_normal a[href*="/DOC/"],
	.entry_column p.link_normal a[href*="/DOCX/"] {
		background: url(../images/common/icon_word.svg) no-repeat right 10px center / 15px auto;
	}

	.entry_column p.link_btn a[href*="/DOC/"],
	.entry_column p.link_btn a[href*="/DOCX/"] {
		background: url(../images/common/icon_word.svg) no-repeat right 25px center / 15px auto;
	}

	.entry_column p.link_normal a[href*="/PPT/"],
	.entry_column p.link_normal a[href*="/PPTX/"] {
		background: url(../images/common/icon_powerpoint.svg) no-repeat right 10px center / 15px auto;
	}

	.entry_column p.link_btn a[href*="/PPT/"],
	.entry_column p.link_btn a[href*="/PPTX/"] {
		background: url(../images/common/icon_powerpoint.svg) no-repeat right 25px center / 15px auto;
	}

	.entry_column p.link_btn_center_back,
	.entry_column p.link_btn_center {
		margin: 60px 0;
		font-size: var(--ft_20);
	}

	.entry_column p.link_btn_center_back a,
	.entry_column p.link_btn_center a {
		padding: 23px 120px 23px 120px;
		display: inline-flex;
		gap: 12px;
	}

	.entry_column p.link_btn_center_back a::before
	.entry_column p.link_btn_center a::after {
		width: 18px;
		height: 10px;
	}

	.entry_column p.link_normal a:hover {
		font-weight: 700;
		color: #0072ff;
	}

	.entry_column p.link_btn a:hover {
		color: #fff;
		background: var(--color_site )url(../images/common/link_white.svg) no-repeat right 25px center / 15px auto;
	}

	.entry_column p.link_btn a[target="_blank"]:hover {
		background-image: url(../images/common/icon_link_w.svg);
	}

	.entry_column p.link_btn a[href*="/PDF/"]:hover {
		background: var(--color_site) url(../images/common/icon_pdf.svg) no-repeat right 25px center / 15px auto;
	}

	.entry_column p.link_btn a[href*="/XLS/"]:hover,
	.entry_column p.link_btn a[href*="/XLSX/"]:hover {
		background: var(--color_site) url(../images/common/icon_excel.svg) no-repeat right 25px center / 15px auto;
	}

	.entry_column p.link_btn a[href*="/DOC/"]:hover,
	.entry_column p.link_btn a[href*="/DOCX/"]:hover {
		background: var(--color_site) url(../images/common/icon_word.svg) no-repeat right 25px center / 15px auto;
	}

	.entry_column p.link_btn a[href*="/PPT/"]:hover,
	.entry_column p.link_btn a[href*="/PPTX/"]:hover {
		background: var(--color_site) url(../images/common/icon_powerpoint.svg) no-repeat right 25px center / 15px auto;
	}

	.entry_column p.link_btn_center_back a:hover,
	.entry_column p.link_btn_center a:hover {
		color: #fff;
		background-color: var(--color_site);
	}

	.entry_column p.link_btn_center_back a:hover::before,
	.entry_column p.link_btn_center a:hover::after {
		background: url(../images/common/link_white.svg) no-repeat center / contain;
	}

}

.entry_column ul {
	margin: 15px 0 25px;
}

.entry_column ul li {
	margin: 0 0 2px;
	padding-left: 22px;
	font-size: var(--ft_16);
	line-height: 1.5;
	position: relative;
}

.entry_column ul li::after {
	position: absolute;
	content: '';
	top: 8px;
	left: 0;
	width: 10px;
	height: 10px;
	background: var(--color_site);
}

.entry_column ol {
	margin: 15px 0;
	padding: 0;
	list-style: none;
	counter-reset: ol_li;
}

.entry_column ol li {
	margin: 0 0 2px;
	padding-left: 15px;
	font-size: var(--ft_16);
	line-height: 1.4;
	position: relative;
	display: flex;
}

.entry_column li p {
	margin: 0;
}

.entry_column ol li::before {
	counter-increment: ol_li;
	content: counter(ol_li)'.';
	color: var(--color_site);
	left: -10px;
	position: relative;
	font-size: var(--ft_16);
	font-weight: 700;
}

@media screen and (min-width: 768px) {

	.entry_column ul,
	.entry_column ol {
		margin: 20px 0 60px;
	}

	.entry_column ul li {
		margin: 0 0 2px;
		padding-left: 22px;
	}

	.entry_column ol li {
		margin: 0 0 2px;
		padding-left: 10px;
	}

	.entry_column ol li::before {
		left: -7px;
	}
}

.entry_column .caption {
	margin: 10px 0 0;
	text-align: center;
	font-size: var(--ft_14);
}

@media screen and (min-width: 768px) {

	.entry_column .caption {
		margin: 15px 0 0;
	  	font-size: var(--ft_16);
	}

}

.entry_column .column-table .acms-table-scrollable th,
.entry_column .column-table .acms-table-scrollable td {
	display: table-cell;
	white-space: nowrap;
}

.entry_column .column-table {
	margin: 20px 0;
}

.entry_column .column-table table {
	width: 100%;
}

.entry_column .column-table tr:first-child th {
  border-top: 1px solid #f4f7fb;
}

.entry_column .column-table tr:last-child th {
  border-bottom: 1px solid #f4f7fb;
}

.entry_column .column-table th {
	padding: 10px 20px;
	border-top: 1px solid #cedef4;
	border-left: 1px solid #f4f7fb;
	background: #f4f7fb;
	font-size: var(--ft_16);
	font-weight: 700;
	color: var(--color_text_blue);
	text-align: left;
}

.entry_column .column-table th:last-child {
	border-right: 1px solid #f4f7fb;
}

.entry_column .column-table th + th {
	border-left: 1px solid #cedef4;
	border-bottom: none;
}

.entry_column .column-table td {
	padding: 15px 20px;
	border-top: 1px solid #cedef4;
	border-bottom: 1px solid #cedef4;
	border-right: 1px solid #cedef4;
	font-size: var(--ft_14);
}

.entry_column .column-table td:first-child {
	border-left: 1px solid #cedef4;
}

.entry_column .column-table tr:not(:has(th)) td {
	border-top: none;
}

.entry_column th p,
.entry_column td p {
	margin-bottom: 0;
}

@media screen and (min-width: 768px) {

	.entry_column .column-table {
		margin: 50px 0;
	}

	.entry_column .column-table th {
		font-size: var(--ft_18);
	}

	.entry_column .column-table td {
		font-size: var(--ft_16);
	}

}

[class^="column-table"] > div {
	overflow-x: auto;
}

[class^="column-table"] > div .acms-table-scrollable,
[class^="column-table"] .scroll-hint.is-scrollable .js-table-unit-scroll-hint {
	margin-bottom: 20px;
}

@media screen and (min-width: 768px) {

	[class^="column-table"] > div .acms-table-scrollable,
	[class^="column-table"] .scroll-hint.is-scrollable .js-table-unit-scroll-hint {
		margin-bottom: 30px;
	}

}

.column-video,
.column-media {
	margin: 0 0 20px;
}

.column-video > div,
.column-media > div {
	max-width: 100%;
}


.column-media .columnImage {
	max-width: 100%;
	height: auto;
}

.columnImage {
	border-radius: 10px;
}

.column-iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.column-iframe iframe {
  width: 100%;
  height: 100%;
}

.entry_column .column_pc {
	display: none;
}

.entry_column .column_sp {
	display: block;
}

.entry_column .align-center {
	text-align: center;
}

@media screen and (min-width: 768px) {

	.column-media {
		margin: 0 0 40px;
	}

	.column-media .columnImage {
		max-width: 100%;
		height: auto;
	}

	.columnImage {
		border-radius: 20px;
	}

	.entry_column .column_pc {
		display: block;
	}

	.entry_column .column_sp {
		display: none;
	}

}

/* -----------------
	カラム設定
----------------- */

.column-group {
	margin: 0 0 20px;
}

.layout-two-column,
.layout-three-column {
	margin: 0 0 20px;
}

.layout-three-column {
}
/*
.layout-three-column > div {
	width: 47.5%;
}

.column-group:has(> div:nth-child(2):last-child),
.column-group:has(> div:nth-child(3):last-child) {
	gap: 5%;
}
*/

.layout-two-column > div,
.column-group:has(> div:nth-child(2):last-child) > div {
	width: 100%;
}
/*
.column-group:has(> div:nth-child(3):last-child) > div {
	width: 47.5%;
}
*/
.column-group .column-media > div {
	width: 100% !important;
}

.layout-two-column > div > :first-child,
.layout-three-column > div > :first-child {
	margin-top: 0;
	padding-top: 0;
}

@media screen and (min-width: 768px) {

	.column-group {
		margin: 0 0 40px;
		display: flex;
		justify-content: space-between;
		flex-wrap: inherit;
	}

	.layout-two-column,
	.layout-three-column {
		margin: 0 0 40px;
		display: flex;
		justify-content: space-between;
		gap: 5%;
		flex-wrap: inherit;
	}

	.layout-three-column > div {
		width: 47.5%;
	}

	.column-group:has(> div:nth-child(2):last-child),
	.column-group:has(> div:nth-child(3):last-child) {
		gap: 5%;
	}

	.layout-two-column > div,
	.column-group:has(> div:nth-child(2):last-child) > div,
	.column-group:has(> div:nth-child(3):last-child) > div {
		width: 100%;
	}

	.column-group .column-media > div {
		width: 100% !important;
	}

	.column-group:has(> div:nth-child(3):last-child) > div {
		width: 47.5%;
	}

}

/* -----------------
	footer
----------------- */

.footer {
	padding: 30px 0 25px;
	background: var(--color_site);
	text-align: center;
}

.footer_logo {
	margin: 0 auto;
	padding: 0 0 30px;
	width: 123px;
}

.footer address {
	padding: 20px 0 15px;
	border-top: 1px solid #7291cf;
}

.footer_tel {
	margin: 0 0 15px;
	font-size: var(--ft_26);
	display: inline-block;
}

.footer_tel a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
}

.icon_tel {
	margin: 2px 8px 0 0;
	display: block;
	width: 20px;
	height: 30px;
	background: url(../images/common/icon_tel.svg) no-repeat 0 0 / 100% auto;
}

.footer_open p {
	color: #fff;
	line-height: 1.7;
	font-size: var(--ft_14);
}

.copyright {
	color: #fff;
	font-size: var(--ft_12);
	white-space: nowrap;
}

@media screen and (min-width: 768px) {

	.footer {
		padding: 0 10px 0 50px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.footer_column {
		display: flex;
		align-items: center;
	}

	.footer_logo {
		padding: 45px 50px 45px 0;
		width: 176px;
		border-right: 1px solid #7291cf;
	}

	.footer address {
		padding: 0 0 0 50px;
		display: flex;
		align-items: center;
		border-top: none;
		text-align: left;
	}

	.footer_tel {
		margin: 0 45px 0 0;
		font-size: 3rem;
	}

	.icon_tel {
		margin: 5px 10px 0 0;
		width: 25px;
		height: 36px;
	}

	.copyright {
		padding: 0 20px;
		font-size: var(--ft_16);
	}

}

@media screen and (min-width: 768px) and (max-width: 959px) {

	.footer address {
		display: block;
	}

	.footer_tel {
		margin-bottom: 10px;
	}

}


/* -----------------------
　　　404
----------------------- */

#notfound {
	color: #373228;
}

#wrapper_404 {
	margin: 10px;
	padding: 30px;
	width: auto;
    background-image: none;
}

#box_404 {
	border-radius: 5px;
}

.inner_left404 {
    margin-right: 0;
    margin-bottom: 40px;
	text-align: left;
}

.inner_left404 img {
	margin: 0 auto;
	width: 200px;
}

.inner_right404 {
    font-size: 1.4rem;
}

.inner_right404 h1 {
    font-size: 2.0rem;
    margin-bottom: 20px;
	text-align: left;
}

.inner_right404 p {
    margin-bottom: 10px;
}

.inner_right404 p a {
	text-decoration: underline;
}

#copyright_404 {
    display: block;
	margin: 10px 10px 0;
	text-align: center;
	font-size: 1.2rem;
}

.inner_left404 .site_logo_gold {
	margin: 0 10px 0 0;
	width: 40px;
}

.inner_left404 .site_logo_text {
	width: 130px;
}

.inner_left404 a {
	display: flex;
	align-items: center;
}

@media screen and (min-width: 600px) {

	#notfound {
	    padding-top: 50px;
	}

	#wrapper_404 {
		margin: 0 auto;
		padding: 60px 60px 0 70px;
		width: 1100px;
	}

	#box_404 {
		margin-bottom: 40px;
		padding: 0;
		display: flex;
		align-items: center;
	}

	.inner_left404 {
	    margin-right: 50px;
	    margin-bottom: 0;
	    text-align: left;
	}

	.inner_left404 img {
		margin: 0 auto;
		width: 250px;
		text-align: center;
	}

	.inner_right404 {
	    text-align: left;
	    font-size: 16px;
	}

	.inner_right404 h1 {
	    font-size: 24px;
	    margin-bottom: 20px;
	    text-align: left;
	}

	.inner_left404 .site_logo_gold {
		margin: 0 10px 0 0;
		width: 40px;
	}

}

@media screen and (min-width: 600px) and (max-width: 768px) {

	#wrapper_404 {
		padding: 60px 20px;
		width: 600px;
	}

	#box_404 {
		margin-bottom: 20px;
	}

	.inner_left404 {
	    margin-right: 30px;
	}

	.inner_left404 img {
		width: 200px;
	}

	.inner_right404 {
	    text-align: left;
	    font-size: 14px;
	}

	.inner_right404 h1 {
	    font-size: 20px;
	}

}

#adminBox .acms-admin-btn-admin {
	padding: 5px;
	font-size: 1.2rem;
}

#adminBox {
    margin-bottom: 0 !important;
    height: 80px;
    width: 100%;
    z-index: 100;
}

.acms-admin-btn-action-group th,
.acms-admin-btn-action-group td {
	padding-right: 10px !important;
	background-image: none !important;
	font-size: 1.4rem !important;
	white-space: nowrap !important;
}

.acms-admin-form .entryFormLiteEditor, .acms-admin-form textarea,
.acms-admin-btn,
.acms-admin-form select {
	font-size: 14px;
}

.lg_1 #adminBox,
.lg_2 #adminBox {
	position: fixed;
	top: 0;
}

.acms-admin-btn-action-group .acms-admin-btn-admin {
	font-size: var(--ft_16);
}

@media screen and (min-width: 768px) {

	#adminBox .acms-admin-btn-admin {
		padding: 10px;
		font-size: 1.2rem;
	}

	#adminBox {
	    height: 100px;
	}

}

.titleWrapper {
	margin: 0 auto;
	padding: 40px 60px 10px;
	max-width: 1100px;
}

.titleWrapper h2 {
	margin: 0 0 30px 0;
	font-size: 3.0rem;
	font-weight: 600;
}

.custom_field_edit h3 {
	padding: 20px 10px;
	font-size: 1.8rem;
	font-weight: bold;
}

.entryFormLiteEditor a {
	text-decoration: underline;
	color: #0075DE;
}

.entryFormLiteEditor em {
  color: #d84708;
  font-weight: bold;
}

.entryFormLiteEditor strong {
  font-weight: bold;
}

.entryFormLiteEditor span.p_min {
	font-size: 1.2rem;
}

.js-lazy-load {
	transform: translateY(0);
	transition: opacity 0.3s cubic-bezier(0.5, 0, 0, 1);
}


.entryFormSelectBottom {
  max-width: inherit !important;
}


.entryFormColumn .entryFormColumnHead .entryFormColumnHeadLayoutBox input,
.entryFormColumn .entryFormColumnHead .entryFormColumnHeadLayoutBox select {
	max-width: inherit;
}

@media (min-width: 768px) {
  .acms-admin-inline-btn .acms-admin-btn-admin,
  .formEntryActionUnit .acms-admin-btn-admin {
    font-size: 14px;
  }

  .comPostWrapper .acms-admin-btn-admin {
    font-size: 16px;
  }
}

.acms-cell-text-center {
  text-align: center !important;
}

.acms-cell-text-right {
  text-align: right !important;
}

.acms-cell-text-left {
  text-align: left !important;
}

.acms-cell-text-nowrap {
  white-space: nowrap !important;
}

.acms-cell-text-bold {
  font-weight: bold !important;
}

.acms-cell-text-top {
  vertical-align: top !important;
}

.acms-cell-text-middle {
  vertical-align: middle !important;
}

.acms-cell-text-bottom {
  vertical-align: bottom !important;
}


