@charset "UTF-8";
/* ========================================

common

======================================== */
/* Zen Kaku Gothic New
Light : 300
Regular : 400
Medium : 500
Bold : 700
Black : 900
*/
.en_r, .page_title .en, .page_title .news dl dt .item_date_left, .news dl dt .page_title .item_date_left {
	font-family: "Outfit", sans-serif;
	font-weight: 400;
}

.en_m, .questions_list_num, .questions_list_num_last, .hl_en, .hl_en_rl, .scroll {
	font-family: "Outfit", sans-serif;
	font-weight: 500;
}

.en_sb {
	font-family: "Outfit", sans-serif;
	font-weight: 600;
}

.en_b {
	font-family: "Outfit", sans-serif;
	font-weight: 700;
}

.f_mx {
	font-family: "Outfit", "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "MS PGothic", "MS Pゴシック", sans-serif;
}

.f_jp {
	font-family: "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "MS PGothic", "MS Pゴシック", sans-serif;
}

.p_hover a:hover {
	opacity: 0.7;
}

.svg {
	width: 100%;
	height: auto;
}
.svg.c_white svg {
	fill: #fff;
}
.svg.c_black svg {
	fill: #000;
}

.img-fit {
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.img-fit::before {
	width: 100%;
	height: 0;
	content: "";
	display: block;
	padding-top: 100%;
	position: relative;
}
.img-fit img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	-o-object-position: 50% 50%;
	   object-position: 50% 50%;
	-o-object-fit: cover;
	   object-fit: cover;
	z-index: 1;
	-webkit-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}

.replace_img {
	width: 100%;
	height: 100%;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}

.l_tel {
	pointer-events: none;
}

.c_key {
	color: var(--c_key1);
}

.ta_center {
	text-align: center;
}

@media screen and (max-width: 800px) {
	.l_tel {
		pointer-events: auto;
	}
}
/* ========================================

inview

======================================== */
.is-fade > *:not(.is-not) {
	opacity: 0;
	-webkit-transform: translateY(30px);
	        transform: translateY(30px);
	-webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}
.is-fade.fadeIn > *:not(.is-not) {
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

.box-fade {
	opacity: 0;
	-webkit-transform: translateY(30px);
	        transform: translateY(30px);
	-webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}
.box-fade.fadeIn {
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

.is-fade > *:not(.is-not):nth-child(0) {
	-webkit-transition-delay: 100ms;
	        transition-delay: 100ms;
}

.is-fade > *:not(.is-not):nth-child(1) {
	-webkit-transition-delay: 220ms;
	        transition-delay: 220ms;
}

.is-fade > *:not(.is-not):nth-child(2) {
	-webkit-transition-delay: 340ms;
	        transition-delay: 340ms;
}

.is-fade > *:not(.is-not):nth-child(3) {
	-webkit-transition-delay: 460ms;
	        transition-delay: 460ms;
}

.is-fade > *:not(.is-not):nth-child(4) {
	-webkit-transition-delay: 580ms;
	        transition-delay: 580ms;
}

.is-fade > *:not(.is-not):nth-child(5) {
	-webkit-transition-delay: 700ms;
	        transition-delay: 700ms;
}

.is-fade > *:not(.is-not):nth-child(6) {
	-webkit-transition-delay: 820ms;
	        transition-delay: 820ms;
}

.is-fade > *:not(.is-not):nth-child(7) {
	-webkit-transition-delay: 940ms;
	        transition-delay: 940ms;
}

.is-fade > *:not(.is-not):nth-child(8) {
	-webkit-transition-delay: 1060ms;
	        transition-delay: 1060ms;
}

.is-fade > *:not(.is-not):nth-child(9) {
	-webkit-transition-delay: 1180ms;
	        transition-delay: 1180ms;
}

.is-fade > *:not(.is-not):nth-child(10) {
	-webkit-transition-delay: 1300ms;
	        transition-delay: 1300ms;
}

.is-fade > *:not(.is-not):nth-child(11) {
	-webkit-transition-delay: 1420ms;
	        transition-delay: 1420ms;
}

.is-fade > *:not(.is-not):nth-child(12) {
	-webkit-transition-delay: 1540ms;
	        transition-delay: 1540ms;
}

.is-fade > *:not(.is-not):nth-child(13) {
	-webkit-transition-delay: 1660ms;
	        transition-delay: 1660ms;
}

.is-fade > *:not(.is-not):nth-child(14) {
	-webkit-transition-delay: 1780ms;
	        transition-delay: 1780ms;
}

.is-fade > *:not(.is-not):nth-child(15) {
	-webkit-transition-delay: 1900ms;
	        transition-delay: 1900ms;
}

.is-fade > *:not(.is-not):nth-child(16) {
	-webkit-transition-delay: 2020ms;
	        transition-delay: 2020ms;
}

.is-fade > *:not(.is-not):nth-child(17) {
	-webkit-transition-delay: 2140ms;
	        transition-delay: 2140ms;
}

.is-fade > *:not(.is-not):nth-child(18) {
	-webkit-transition-delay: 2260ms;
	        transition-delay: 2260ms;
}

.is-fade > *:not(.is-not):nth-child(19) {
	-webkit-transition-delay: 2380ms;
	        transition-delay: 2380ms;
}

.is-fade > *:not(.is-not):nth-child(20) {
	-webkit-transition-delay: 2500ms;
	        transition-delay: 2500ms;
}

/* ========================================

button

======================================== */
.line, .line_v, .line_h {
	display: block;
	border-radius: 1px;
	background-color: var(--c_base1);
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.line::before, .line_v::before, .line_h::before, .line::after, .line_v::after, .line_h::after {
	content: "";
	display: block;
	background-color: var(--c_base1);
	border-radius: 1px;
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
}
.line_h {
	width: 35px;
	height: 2px;
	margin-right: 20px;
	margin-left: clamp(10px, 1.1689vw, 18px);
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-line-pack: end;
	    align-content: flex-end;
}
.line_h::before, .line_h::after {
	width: 5px;
	height: 2px;
	margin-left: 5px;
	-webkit-transform: translateX(35px);
	        transform: translateX(35px);
}
.line_v {
	width: 2px;
	height: 35px;
	margin: 20px 0 0 0;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-line-pack: start;
	    align-content: flex-start;
}
.line_v::before, .line_v::after {
	width: 2px;
	height: 5px;
	margin-top: 5px;
	-webkit-transform: translateY(35px);
	        transform: translateY(35px);
}

@media screen and (max-width: 800px) {
	.line_h {
		height: 1.5px;
	}
	.line_h::before, .line_h::after {
		height: 1.5px;
	}
	.line_v {
		width: 1.5px;
		margin: 20px 0 0 0;
	}
	.line_v::before, .line_v::after {
		width: 1.5px;
	}
}
.ico_arrow {
	position: relative;
	-webkit-transform-origin: 100% 50%;
	        transform-origin: 100% 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.ico_arrow::before, .ico_arrow::after {
	width: 3.5px;
	height: 2px;
	content: "";
	display: block;
	margin-right: 2px;
	background-color: #fff;
	border-radius: 1px;
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}
.ico_arrow > span {
	width: 20px;
	height: 2px;
	display: block;
	background-color: #fff;
	border-radius: 1px;
	-webkit-transform-origin: 0% 50%;
	        transform-origin: 0% 50%;
	-webkit-box-ordinal-group: 4;
	    -ms-flex-order: 3;
	        order: 3;
	-webkit-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.ico_arrow > span::before, .ico_arrow > span::after {
	width: 7px;
	height: 2px;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background-color: #fff;
	border-radius: 1px;
}
.ico_arrow > span::before {
	-webkit-transform: translateY(1px) rotate(45deg);
	        transform: translateY(1px) rotate(45deg);
	-webkit-transform-origin: 100% 0%;
	        transform-origin: 100% 0%;
}
.ico_arrow > span::after {
	-webkit-transform: translateY(-1px) rotate(-45deg);
	        transform: translateY(-1px) rotate(-45deg);
	-webkit-transform-origin: 100% 100%;
	        transform-origin: 100% 100%;
}
.ico_arrow.black::before, .ico_arrow.black::after {
	background-color: #222;
}
.ico_arrow.black > span {
	background-color: #222;
}
.ico_arrow.black > span::before, .ico_arrow.black > span::after {
	background-color: #222;
}

a:hover .ico_arrow > span,
button:hover .ico_arrow > span {
	-webkit-transform-origin: 0 50%;
	        transform-origin: 0 50%;
	-webkit-transform: scaleX(1.25);
	        transform: scaleX(1.25);
}
a:hover .ico_arrow > span::before,
button:hover .ico_arrow > span::before {
	-webkit-transform: scaleX(0.8) translate(5%, 50%) rotate(45deg);
	        transform: scaleX(0.8) translate(5%, 50%) rotate(45deg);
}
a:hover .ico_arrow > span::after,
button:hover .ico_arrow > span::after {
	-webkit-transform: scaleX(0.8) translate(-5%, -50%) rotate(-45deg);
	        transform: scaleX(0.8) translate(-5%, -50%) rotate(-45deg);
}

@media screen and (max-width: 800px) {
	.ico_arrow::before, .ico_arrow::after {
		width: 2.5px;
		height: 1px;
	}
	.ico_arrow span {
		width: 20px;
		height: 1px;
	}
	.ico_arrow span::before, .ico_arrow span::after {
		width: 5.5px;
		height: 1px;
	}
	.ico_arrow span::before {
		-webkit-transform: translate(3%, 50%) rotate(45deg);
		        transform: translate(3%, 50%) rotate(45deg);
	}
	.ico_arrow span::after {
		-webkit-transform: translate(3%, -50%) rotate(-45deg);
		        transform: translate(3%, -50%) rotate(-45deg);
	}
}
.btn_base {
	font-size: 15px;
	letter-spacing: 0.06em;
	max-width: 280px;
	height: 60px;
}
.btn_base a,
.btn_base button {
	color: #fff;
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	cursor: pointer;
	padding: 0 16px 2px 0;
	background-color: var(--c_base1);
	border-radius: 60px;
	-webkit-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.btn_base a .ico_arrow,
.btn_base button .ico_arrow {
	position: absolute;
	top: calc(50% - 1px);
	right: 30px;
}
.btn_base a:hover,
.btn_base button:hover {
	background-color: var(--c_key1);
}

@media screen and (max-width: 800px) {
	.btn_base {
		max-width: 280px;
		height: 60px;
	}
	.btn_base a,
	.btn_base button {
		font-size: 12px;
	}
}
.btn_circle, .btn_circle_d, .btn_circle_l {
	font-size: clamp(13px, 0.974vw, 15px);
	font-weight: 500;
	text-align: center;
	line-height: 1.625;
	width: clamp(108px, 8.7012vw, 134px);
	height: clamp(108px, 8.7012vw, 134px);
	border-radius: 50%;
	position: relative;
	z-index: 2;
	border-radius: 50%;
}
.btn_circle a, .btn_circle_d a, .btn_circle_l a {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	background-color: var(--c_base2);
	border: 2px solid var(--c_base2);
	border-radius: 50%;
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}
.btn_circle a::before, .btn_circle_d a::before, .btn_circle_l a::before {
	width: 100%;
	height: 100%;
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 50%;
	border: 2px solid var(--c_base1);
}
.btn_circle a .ico_arrow, .btn_circle_d a .ico_arrow, .btn_circle_l a .ico_arrow {
	margin-top: clamp(12px, 1.41666vw, 17px);
}
.btn_circle_l a .ico_arrow::before, .btn_circle_l a .ico_arrow::after {
	background-color: var(--c_base1);
}
.btn_circle_l a .ico_arrow > span {
	background-color: var(--c_base1);
}
.btn_circle_l a .ico_arrow > span::before, .btn_circle_l a .ico_arrow > span::after {
	background-color: var(--c_base1);
}
.btn_circle_l a:hover {
	background-color: var(--c_base3);
}
.btn_circle_d a {
	color: var(--c_base2);
	background-color: var(--c_base1);
	border-color: var(--c_base1);
}
.btn_circle_d a::before {
	border-color: var(--c_base2);
}
.btn_circle_d a:hover {
	border-color: var(--c_key1);
	background-color: var(--c_key1);
}

.btn_border, .btn_border_d, .btn_border_l {
	font-size: clamp(11px, 2vw, 14px);
	font-weight: 500;
	letter-spacing: 0.06em;
	width: 210px;
	max-width: 280px;
	height: clamp(30px, 10.2565vw, 60px);
}
.btn_border a, .btn_border_d a, .btn_border_l a {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	border-radius: 60px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.btn_border a .ico_arrow, .btn_border_d a .ico_arrow, .btn_border_l a .ico_arrow {
	position: absolute;
	top: calc(50% - 1px);
	right: 20px;
}
.btn_border a .ico_arrow > span, .btn_border_d a .ico_arrow > span, .btn_border_l a .ico_arrow > span {
	width: 13px;
}
.btn_border a:hover, .btn_border_d a:hover, .btn_border_l a:hover {
	background-color: var(--c_key1);
}
.btn_border_l {
	color: var(--c_base1);
}
.btn_border_l a {
	background-color: var(--c_base2);
	border: 1.5px solid var(--c_base1);
}
.btn_border_l a .ico_arrow::before, .btn_border_l a .ico_arrow::after {
	background-color: var(--c_base1);
}
.btn_border_l a .ico_arrow > span {
	background-color: var(--c_base1);
}
.btn_border_l a .ico_arrow > span::before, .btn_border_l a .ico_arrow > span::after {
	background-color: var(--c_base1);
}
.btn_border_l a:hover {
	background-color: var(--c_base3);
}
.btn_border_d {
	color: #fff;
	border-radius: 60px;
	border: 1.5px solid var(--c_base1);
}
.btn_border_d a {
	background-color: var(--c_base1);
	border: 1.5px solid var(--c_base2);
}

.scroll {
	font-size: 12px;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	position: absolute;
	left: 0;
	width: 80px;
	height: 100vh;
	padding-bottom: 100px;
	padding-right: 2px;
	z-index: 10;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.scroll::after {
	width: 2px;
	height: 40px;
	content: "";
	display: block;
	margin-top: 26px;
	background-color: var(--c_base1);
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
	-webkit-animation: scroll cubic-bezier(0.33, 1, 0.68, 1) 3s infinite;
	        animation: scroll cubic-bezier(0.33, 1, 0.68, 1) 3s infinite;
}
.scroll .bar {
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.scroll .bar::before, .scroll .bar::after {
	width: 2px;
	height: 5px;
	content: "";
	display: block;
	margin-top: 5px;
	background-color: var(--c_base1);
	border-radius: 1px;
}
.scroll .bar::before {
	-webkit-animation: scroll2 linear 3s infinite;
	        animation: scroll2 linear 3s infinite;
}
.scroll .bar::after {
	-webkit-animation: scroll3 linear 3s infinite;
	        animation: scroll3 linear 3s infinite;
}

@-webkit-keyframes scroll {
	0% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	40% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	50% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	90% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	100% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
}

@keyframes scroll {
	0% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	40% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	50% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	90% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	100% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
}
@-webkit-keyframes scroll2 {
	0% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	28% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
	}
	32% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	82% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	86% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	to {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
}
@keyframes scroll2 {
	0% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	28% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
	}
	32% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	82% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	86% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	to {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
}
@-webkit-keyframes scroll3 {
	0% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	34% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
	}
	38% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	88% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	92% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	to {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
}
@keyframes scroll3 {
	0% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	34% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
	}
	38% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: top;
		        transform-origin: top;
	}
	88% {
		-webkit-transform: scaleY(1);
		        transform: scaleY(1);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	92% {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
	to {
		-webkit-transform: scaleY(0);
		        transform: scaleY(0);
		-webkit-transform-origin: bottom;
		        transform-origin: bottom;
	}
}
@media screen and (max-width: 800px) {
	.scroll {
		display: none;
	}
}
/* ========================================

headline

======================================== */
.hl_wrap {
	width: clamp(112px, 11.5943%, 160px);
	position: sticky;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	z-index: 2;
}

@media screen and (max-width: 800px) {
	.hl_wrap {
		width: 100%;
		display: block;
		position: relative;
		top: auto !important;
		margin: 0 auto;
	}
}
.hl_en, .hl_en_rl {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.hl_en .t, .hl_en_rl .t {
	-webkit-transform-origin: 0% 50%;
	        transform-origin: 0% 50%;
}
.hl_en .line, .hl_en_rl .line, .hl_en .line_h, .hl_en_rl .line_h, .hl_en .line_v, .hl_en_rl .line_v {
	width: 40px;
}
.hl_en .line::before, .hl_en_rl .line::before, .hl_en .line_h::before, .hl_en_rl .line_h::before, .hl_en .line_v::before, .hl_en_rl .line_v::before, .hl_en .line::after, .hl_en_rl .line::after, .hl_en .line_h::after, .hl_en_rl .line_h::after, .hl_en .line_v::after, .hl_en_rl .line_v::after {
	-webkit-transform: translateX(40px);
	        transform: translateX(40px);
}
.hl_en_rl {
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}
.hl_en_rl .line, .hl_en_rl .line_h, .hl_en_rl .line_v {
	width: 2px;
	height: 40px;
	margin: 18px 0 0;
}
.hl_en_rl .line::before, .hl_en_rl .line_h::before, .hl_en_rl .line_v::before, .hl_en_rl .line::after, .hl_en_rl .line_h::after, .hl_en_rl .line_v::after {
	width: 2px;
	height: 5px;
	margin-left: 0;
	margin-top: 5px;
	-webkit-transform: translateY(40px);
	        transform: translateY(40px);
}

@media screen and (max-width: 800px) {
	.hl_en, .hl_en_rl {
		font-size: 10px;
	}
	.hl_en .t, .hl_en_rl .t {
		-webkit-transform: scale(0.9);
		        transform: scale(0.9);
	}
	.hl_en .line, .hl_en_rl .line, .hl_en .line_h, .hl_en_rl .line_h, .hl_en .line_v, .hl_en_rl .line_v {
		width: 30px;
		height: 1.5px;
		margin-left: 16px;
	}
	.hl_en .line::before, .hl_en_rl .line::before, .hl_en .line_h::before, .hl_en_rl .line_h::before, .hl_en .line_v::before, .hl_en_rl .line_v::before, .hl_en .line::after, .hl_en_rl .line::after, .hl_en .line_h::after, .hl_en_rl .line_h::after, .hl_en .line_v::after, .hl_en_rl .line_v::after {
		height: 1.5px;
		-webkit-transform: translate(30px);
		        transform: translate(30px);
	}
	.hl_en_rl::before, .hl_en_rl::after {
		height: 1.5px;
	}
	.hl_en.sp_tb, .sp_tb.hl_en_rl {
		-webkit-writing-mode: horizontal-tb;
		    -ms-writing-mode: lr-tb;
		        writing-mode: horizontal-tb;
	}
	.hl_en.sp_tb .line, .sp_tb.hl_en_rl .line, .hl_en.sp_tb .line_h, .sp_tb.hl_en_rl .line_h, .hl_en.sp_tb .line_v, .sp_tb.hl_en_rl .line_v {
		margin-top: 0;
	}
	.hl_en.sp_tb .line::before, .sp_tb.hl_en_rl .line::before, .hl_en.sp_tb .line_h::before, .sp_tb.hl_en_rl .line_h::before, .hl_en.sp_tb .line_v::before, .sp_tb.hl_en_rl .line_v::before, .hl_en.sp_tb .line::after, .sp_tb.hl_en_rl .line::after, .hl_en.sp_tb .line_h::after, .sp_tb.hl_en_rl .line_h::after, .hl_en.sp_tb .line_v::after, .sp_tb.hl_en_rl .line_v::after {
		width: 5px;
		height: 1.5px;
		margin-top: 0;
		margin-left: 5px;
	}
}
.hl_copy {
	font-size: clamp(20px, 1.688vw, 26px);
	letter-spacing: 0.22em;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
.hl_copy::before {
	width: 24px;
	height: 20px;
	content: "";
	display: block;
	position: absolute;
	top: -0.65em;
	left: -0.53em;
	background-image: url(../img/common/ico_quotation.svg);
	background-repeat: no-repeat;
	background-position: 100% 100%;
	background-size: 100%;
}
.hl_copy span {
	display: inline-block;
	padding: 27px 8px 10px 6px;
	background-color: #fff;
	border-radius: 5px;
}
.hl_copy span:last-of-type {
	margin-right: 10px;
	padding-bottom: 20px;
}

@media screen and (max-width: 800px) {
	.hl_copy {
		font-size: 18px;
		font-weight: 500;
		margin-top: 32px;
		-webkit-writing-mode: horizontal-tb;
		    -ms-writing-mode: lr-tb;
		        writing-mode: horizontal-tb;
	}
	.hl_copy::before {
		width: 16px;
		height: 13px;
		top: -0.3em;
		left: -0.65em;
	}
	.hl_copy span {
		padding: 6px 4px 6px 16px;
	}
	.hl_copy span:last-of-type {
		margin-right: 0;
		margin-top: 5px;
		padding-right: 12px;
		padding-bottom: 6px;
	}
}
.page_title {
	text-align: center;
	position: relative;
	margin-bottom: 118px;
}
.page_title::before, .page_title::after {
	width: 36vw;
	height: 175px;
	max-width: 504px;
	content: "";
	position: absolute;
	bottom: 0;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.page_title::before {
	left: 80px;
	background-position: 0 100%;
}
.page_title::after {
	right: 80px;
	background-position: 100% 100%;
}
.page_title_inner {
	position: relative;
	padding: 87px 0 138px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.page_title_inner::before {
	width: 100%;
	height: 100%;
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	background-color: var(--c_base2);
	background-image: url(../img/common/bg_nami.png);
	background-repeat: repeat-x;
	background-size: 60px;
	background-position: left bottom;
	z-index: -1;
}
.page_title_inner::after {
	width: 100%;
	height: 56px;
	content: "";
	display: block;
	margin: 0 auto 40px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	-webkit-box-ordinal-group: 0;
	    -ms-flex-order: -1;
	        order: -1;
}
.page_title h1 {
	font-size: 34px;
	letter-spacing: 0.1em;
	position: relative;
	margin-bottom: 22px;
	z-index: 1;
}
.page_title h1::before, .page_title h1::after {
	width: 178px;
	height: 86px;
	content: "";
	display: block;
	position: absolute;
	top: -27px;
	background-image: url(../img/common/ico_quotation.svg);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 28px auto;
}
.page_title h1::before {
	right: 50%;
}
.page_title h1::after {
	left: 50%;
	-webkit-transform: scale(-100%, -100%);
	        transform: scale(-100%, -100%);
}
.page_title .en, .page_title .news dl dt .item_date_left, .news dl dt .page_title .item_date_left {
	color: #aaa;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 1200px) {
	.page_title_inner {
		padding: 42px 0 100px;
	}
}
@media screen and (max-width: 800px) {
	.page_title {
		margin-bottom: 72px;
	}
	.page_title::before, .page_title::after {
		width: 150px;
		height: 97px;
		bottom: -26px;
	}
	.page_title::before {
		left: 0 !important;
		background-image: url(../img/common/tit_illust01_sp.png);
	}
	.page_title::after {
		right: 0 !important;
		background-image: url(../img/common/tit_illust02_sp.png);
	}
	.page_title_inner {
		padding: 113px 0 74px;
	}
	.page_title_inner::before {
		background-size: 30px;
	}
	.page_title_inner::after {
		margin-bottom: 16px;
	}
	.page_title h1 {
		font-size: 23px;
		margin-bottom: 12px;
	}
	.page_title h1::before, .page_title h1::after {
		width: 114px;
		height: 52px;
		top: -17px;
		background-size: 18px auto;
	}
	.page_title .en, .page_title .news dl dt .item_date_left, .news dl dt .page_title .item_date_left {
		font-size: 10px;
	}
}
.page_intro {
	width: calc(100% - 160px);
	max-width: 800px;
	position: relative;
	margin: 0 auto 88px;
	padding-top: 26px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-line-pack: center;
	    align-content: center;
	z-index: 5;
}
.page_intro .hl {
	font-size: 38px;
	letter-spacing: 0.15em;
	position: relative;
	margin-bottom: 45px;
}
.page_intro .hl::before {
	width: 27px;
	height: 22px;
	content: "";
	display: block;
	position: absolute;
	top: -35px;
	left: -50px;
	background-image: url(../img/common/ico_quotation.svg);
	background-repeat: no-repeat;
	background-position: 100% 100%;
	background-size: 100% auto;
}
.page_intro .hl span {
	color: var(--c_key1);
}
.page_intro .desc {
	font-size: 17px;
	line-height: 2.7;
	letter-spacing: 0.12em;
}

@media screen and (max-width: 800px) {
	.page_intro {
		width: 80.7692%;
		margin-bottom: 38px;
		padding-top: 5px;
	}
	.page_intro .hl {
		font-size: 21px;
		line-height: 1.8;
		margin-bottom: 24px;
		padding-left: 10px;
	}
	.page_intro .hl::before {
		width: 17px;
		height: 14px;
		top: -26px;
		left: -20px;
	}
	.page_intro .desc {
		font-size: 14px;
		line-height: 2.42;
	}
}
body::before {
	width: 100%;
	height: 63.266vh;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--c_base2);
	background-image: url(../img/common/bg_nami.png);
	background-repeat: repeat-x;
	background-size: 60px;
	background-position: left bottom;
	z-index: -1;
}

@media screen and (max-width: 800px) {
	body::before {
		display: none;
	}
	.scroll {
		display: none;
	}
}
/* ========================================

mainvisual

======================================== */
.mainvisual {
	position: relative;
	margin-bottom: 80px;
	z-index: 1;
}
.mainvisual .img {
	width: calc(100% - 160px);
	height: calc(100vh - 160px);
	min-height: 700px;
	margin: 0 auto;
}
.mainvisual .img img {
	overflow: hidden;
	border-radius: 0 0 100px 10px;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-size: cover;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: 50% 50%;
	   object-position: 50% 50%;
	z-index: 1;
	-webkit-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.mainvisual .copy .txt,
.mainvisual .copy .bg {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	opacity: 0;
	-webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
}
.mainvisual .copy .txt {
	width: 131px;
	-webkit-transform: translate(-50%, calc(-50% + 50px));
	        transform: translate(-50%, calc(-50% + 50px));
	z-index: 5;
	-webkit-transition-delay: 1000ms;
	        transition-delay: 1000ms;
}
.mainvisual .copy .bg {
	width: 361px;
	z-index: 4;
	-webkit-transition-delay: 2000ms;
	        transition-delay: 2000ms;
}
.mainvisual .illust01 {
	width: 425px;
	position: absolute;
	left: 0;
	bottom: -45px;
	z-index: 5;
	opacity: 0;
	-webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition-delay: 2400ms;
	        transition-delay: 2400ms;
}
.mainvisual .illust02 {
	width: 474px;
	position: absolute;
	right: 0;
	bottom: -44px;
	z-index: 5;
	opacity: 0;
	-webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
	-webkit-transition-delay: 2400ms;
	        transition-delay: 2400ms;
}
.mainvisual.fadeIn .copy .txt,
.mainvisual.fadeIn .copy .bg {
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	opacity: 1;
}
.mainvisual.fadeIn .illust01,
.mainvisual.fadeIn .illust02 {
	opacity: 1;
}

@media screen and (max-width: 1200px) {
	.mainvisual .illust01 {
		width: 35.416667%;
	}
	.mainvisual .illust02 {
		width: 39.5%;
	}
}
@media screen and (max-width: 800px) {
	.mainvisual {
		margin-bottom: 76px;
	}
	.mainvisual .img {
		width: 100%;
		height: calc(100vh - 26px);
		height: calc(100svh - 26px);
		min-height: 0;
	}
	.mainvisual .img::after {
		width: 100%;
		height: 5px;
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
		background-image: url(../img/common/bg_nami.png);
		background-repeat: repeat-x;
		background-size: 30px;
	}
	.mainvisual .img img {
		border-radius: 0;
	}
	.mainvisual .copy {
		width: 300px;
	}
	.mainvisual .copy .txt {
		width: 108px;
	}
	.mainvisual .copy .bg {
		width: 300px;
	}
	.mainvisual .illust01,
	.mainvisual .illust02 {
		display: none;
	}
}
/* ========================================

message

======================================== */
.message {
	width: calc(100% - 160px);
	max-width: 1380px;
	margin: 0 auto 90px;
}
.message_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.message .img {
	width: 56.37682%;
	max-width: 778px;
}
.message .box_text {
	width: 42.02899%;
	width: calc(43.6232% - 45px);
	max-width: 560px;
	padding-top: clamp(0px, 0.77922vw, 12px);
}
.message h2 {
	font-size: clamp(28px, 2.467vw, 38px);
	line-height: 1.7;
	letter-spacing: 0.12em;
	position: relative;
	margin: 68px 0 68px;
}
.message h2::before {
	width: 27px;
	width: clamp(20px, 1.753vw, 27px);
	height: 22px;
	content: "";
	display: block;
	position: absolute;
	top: -0.421em;
	left: -1.184em;
	background-image: url(../img/common/ico_quotation.svg);
	background-repeat: no-repeat;
	background-size: 100%;
}
.message .txt {
	font-size: clamp(14px, 1.038vw, 16px);
	line-height: 2.25;
	letter-spacing: 0.06em;
	width: 90%;
	max-width: 472px;
	margin-bottom: 2.25em;
}
.message .btn_base {
	margin-top: 80px;
}

@media screen and (max-width: 800px) {
	.message {
		width: 100%;
		margin-bottom: 70px;
	}
	.message_inner {
		display: block;
	}
	.message .img {
		width: 100%;
		max-width: none;
		margin-bottom: 68px;
		padding-top: 32px;
	}
	.message .btn_base {
		width: 79.48717%;
		height: 50px;
		max-width: none;
		margin: 0 auto;
	}
	.message .box_text {
		width: 100%;
		max-width: none;
		padding-top: 0;
	}
	.message .hl_en, .message .hl_en_rl {
		margin-left: 11.538%;
	}
	.message .hl_en .t, .message .hl_en_rl .t {
		font-size: 11px;
		-webkit-transform: none;
		        transform: none;
	}
	.message h2 {
		font-size: 23px;
		font-weight: 500;
		line-height: 1.73;
		letter-spacing: 0.12em;
		margin: 60px 0 50px 11.538%;
	}
	.message h2::before {
		width: 17px;
		height: 14px;
		top: -20px;
		left: -30px;
	}
	.message .txt {
		font-size: 14px;
		line-height: 2.42;
		letter-spacing: 0.03em;
		width: 76.924%;
		max-width: none;
		margin: 0 auto;
		margin-bottom: 2.25em;
	}
}
/* ========================================

questions

======================================== */
.questions {
	position: relative;
	padding-bottom: 160px;
	padding-bottom: 0;
	background-color: var(--c_base2);
}
.questions_bg {
	width: 100%;
	height: 205px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	background-color: #fff;
}
.questions_bg::before {
	width: 100%;
	height: 10px;
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: var(--c_base2);
	background-image: url(../img/common/bg_nami.png);
	background-repeat: repeat-x;
	background-size: 60px;
	-webkit-transform: rotate(180deg);
	        transform: rotate(180deg);
}
.questions_bg.fixed {
	position: fixed;
}
.questions_bg.fixed_bottom {
	position: absolute;
	top: auto;
	-webkit-transform: translateY(100%);
	        transform: translateY(100%);
}
.questions_box_img {
	position: relative;
	margin-bottom: 100px;
	z-index: 1;
}
.questions_box_img .img01 {
	width: 70.4546%;
	position: relative;
}
.questions_box_img .img01 img {
	border-radius: 0 clamp(0px, 6.4936vw, 100px) 0 0;
}
.questions_box_img .img01::before, .questions_box_img .img01::after {
	content: "";
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100%;
}
.questions_box_img .img01::before {
	width: clamp(0px, 31.2338vw, 481px);
	height: clamp(0px, 20.9091vw, 322px);
	left: 0;
	bottom: clamp(-87px, -5.6494vw, 0px);
	background-image: url(../img/top/question_img_illust01.png);
}
.questions_box_img .img01::after {
	width: clamp(0px, 15.9741vw, 246px);
	height: clamp(0px, 5.64936vw, 87px);
	right: clamp(-115px, -7.4676vw, 0px);
	top: clamp(0px, 3.4416vw, 53px);
	background-image: url(../img/top/question_img_illust02.png);
}
.questions_box_img .img02 {
	width: 34.4156%;
	position: relative;
	margin-top: -14.2858vw;
	margin-left: auto;
}
.questions_box_img .img02 img {
	border-radius: clamp(0px, 5.1949vw, 80px) 0 0 clamp(0px, 5.1949vw, 80px);
}
.questions_box_img .img02::before, .questions_box_img .img02::after {
	content: "";
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100%;
}
.questions_box_img .img02::before {
	width: clamp(0px, 13.7663vw, 212px);
	height: clamp(0px, 11.1689vw, 172px);
	right: clamp(0px, 8.1819vw, 126px);
	top: clamp(-162px, -10.5195vw, 0px);
	background-image: url(../img/top/question_img_illust03.png);
}
.questions_box_img .img02::after {
	width: clamp(0px, 9.5455vw, 147px);
	height: clamp(0px, 4.4806vw, 69px);
	right: 0;
	bottom: clamp(-30px, -1.9481vw, 0px);
	background-image: url(../img/top/question_img_illust04.png);
}
.questions_inner {
	width: calc(100% - 160px);
	max-width: 1380px;
	margin: 0 auto;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	z-index: 1;
}
.questions_hl {
	width: clamp(120px, 13.0435%, 180px);
	left: 0;
	top: 0;
	padding-top: 120px;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.questions_hl .hl_en, .questions_hl .hl_en_rl {
	position: absolute;
	top: 60px;
	right: 0;
	-webkit-transform: translateX(calc(100% + 4px));
	        transform: translateX(calc(100% + 4px));
}
.questions_hl .hl_copy {
	margin-right: 5.5556%;
	margin-bottom: 60px;
}
.questions_hl .btn_circle_d {
	font-size: clamp(13.5px, 1.4167vw, 17px);
	width: clamp(120px, 10.3896vw, 160px);
	height: clamp(120px, 10.3896vw, 160px);
}
.questions_list {
	width: calc(92.754% - clamp(128px, 13.0434%, 180px));
	position: relative;
	padding-bottom: clamp(40px, 6.4935vw, 100px);
	background-color: var(--c_base3);
	border-radius: 25px;
}
.questions_list::before, .questions_list::after {
	width: 10px;
	height: 10px;
	content: "";
	display: block;
	position: absolute;
	top: 25px;
	background-color: var(--c_base2);
	border-radius: 50%;
	z-index: 1;
}
.questions_list::before {
	left: 25px;
}
.questions_list::after {
	right: 25px;
}
.questions_list_inner {
	width: 92.72728%;
	margin: 0 auto;
}
.questions_list_inner::before, .questions_list_inner::after {
	width: 10px;
	height: 10px;
	content: "";
	display: block;
	position: absolute;
	bottom: 25px;
	background-color: var(--c_base2);
	border-radius: 50%;
	z-index: 1;
}
.questions_list_inner::before {
	left: 25px;
}
.questions_list_inner::after {
	right: 25px;
}
.questions_list .illust01 {
	width: clamp(0px, 19.2858vw, 297px);
	height: clamp(0px, 13.2468vw, 204px);
	position: absolute;
	top: clamp(-110px, -7.1429vw, 0px);
	left: clamp(0px, 5.1949vw, 80px);
}
.questions_list .illust02 {
	width: clamp(0px, 6.689vw, 103px);
	height: clamp(0px, 11.1039vw, 171px);
	position: absolute;
	bottom: clamp(0px, 3.3767vw, 52px);
	right: clamp(-58px, -3.7663vw, 0px);
}
.questions_list_num, .questions_list_num_last {
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	width: 200px;
	height: 40px;
	position: relative;
	margin: 60px auto;
	background-color: #fff;
	border: 2px solid var(--c_base1);
	border-radius: 40px;
	opacity: 0;
	-webkit-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.questions_list_num::before, .questions_list_num_last::before, .questions_list_num::after, .questions_list_num_last::after {
	width: 2px;
	height: 40px;
	content: "";
	display: block;
	position: absolute;
	left: calc(50% - 1px);
	background-color: var(--c_base1);
	border-radius: 1px;
}
.questions_list_num::before, .questions_list_num_last::before {
	top: -42px;
}
.questions_list_num::after, .questions_list_num_last::after {
	bottom: -42px;
}
.questions_list_num .n, .questions_list_num_last .n {
	font-size: 18px;
	margin-left: 0.4em;
	margin-bottom: 2px;
}
.questions_list_num .n::before, .questions_list_num_last .n::before, .questions_list_num .n::after, .questions_list_num_last .n::after {
	width: 2px;
	height: 5px;
	content: "";
	display: block;
	position: absolute;
	left: calc(50% - 1px);
	background-color: var(--c_base1);
	border-radius: 1px;
}
.questions_list_num .n::before, .questions_list_num_last .n::before {
	top: -62px;
}
.questions_list_num .n::after, .questions_list_num_last .n::after {
	top: -52px;
}
.questions_list_num .t::before, .questions_list_num_last .t::before, .questions_list_num .t::after, .questions_list_num_last .t::after {
	width: 2px;
	height: 5px;
	content: "";
	display: block;
	position: absolute;
	left: calc(50% - 1px);
	background-color: var(--c_base1);
	border-radius: 1px;
}
.questions_list_num .t::before, .questions_list_num_last .t::before {
	bottom: -62px;
}
.questions_list_num .t::after, .questions_list_num_last .t::after {
	bottom: -52px;
}
.questions_list_num_last {
	height: 0px;
	margin-bottom: 0;
	background-color: transparent;
	border: none;
}
.questions_list_num_last::before {
	margin-top: 2px;
}
.questions_list_num_last::after {
	display: none;
}
.questions_list_num_last .n::before, .questions_list_num_last .n::after {
	margin-top: 2px;
}
.questions_list_num.fadeIn, .fadeIn.questions_list_num_last {
	opacity: 1;
}
.questions_list_item {
	margin: 0 auto;
	padding: clamp(66px, 7.1428vw, 110px) 0 clamp(78px, 8.4415vw, 130px);
	background-color: #fff;
	background-image: radial-gradient(#d9d9d9 8%, transparent 8%);
	background-size: 18px 18px;
	background-position: 50% 50%;
	border-radius: clamp(60px, 7.7792vw, 120px);
	opacity: 0;
	-webkit-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.questions_list_item.fadeIn {
	opacity: 1;
}
.questions_list_item_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.questions_list_item_inner.fadeIn {
	opacity: 1;
}
.questions_list_item_inner.fadeIn .icon {
	opacity: 1;
}
.questions_list_item_inner.fadeIn .comment {
	opacity: 1;
}
.questions_list_item .icon {
	position: relative;
	opacity: 0;
	-webkit-transition: all 0.6s;
	transition: all 0.6s;
}
.questions_list_item .icon span {
	display: block;
	position: absolute;
}
.questions_list_item .comment {
	width: 49.0197%;
	max-width: 500px;
	position: relative;
	padding: clamp(20px, 2.2727vw, 35px) 0;
	background-color: var(--c_base2);
	border-radius: clamp(33px, 4.2207vw, 65px);
	opacity: 0;
	-webkit-transition: all 0.6s;
	transition: all 0.6s;
}
.questions_list_item .comment::before {
	width: 18px;
	height: 18px;
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	background-color: var(--c_base2);
	border-radius: 3px;
	-webkit-transform: skewX(45deg);
	        transform: skewX(45deg);
}
.questions_list_item .comment .txt {
	font-size: clamp(16px, 1.1688vw, 18px);
	line-height: 1.66;
	letter-spacing: 0.02em;
	width: 76%;
	max-width: 380px;
	margin: 0 auto;
	padding-right: 5.2632%;
}
.questions_list_item .comment .txt span {
	color: var(--c_key1);
}
.questions_list_item .comment .txt.ta_center {
	text-align: left;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.questions_list_item .comment .btn_circle_d {
	font-size: clamp(13px, 1.0833vw, 16px);
	letter-spacing: 0.08em;
	width: clamp(120px, 9.7402vw, 150px);
	height: clamp(120px, 9.7402vw, 150px);
}
.questions_list_item_q {
	margin-bottom: clamp(36px, 3.8961vw, 60px);
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}
.questions_list_item_q .icon {
	width: 25%;
	max-width: 255px;
	-webkit-transition-delay: 500ms;
	        transition-delay: 500ms;
}
.questions_list_item_q .icon span {
	left: 0;
	bottom: 0;
}
.questions_list_item_q .icon_01 span {
	width: 172px;
	width: 67.451%;
	display: block;
	margin-left: 11.7647%;
	-webkit-transform: translateY(16%);
	        transform: translateY(16%);
}
.questions_list_item_q .icon_02 span {
	width: 61.9608%;
	margin-left: 7.0588%;
	-webkit-transform: translateY(6.9%);
	        transform: translateY(6.9%);
}
.questions_list_item_q .icon_03 span {
	width: 62.7451%;
	margin-left: 4.7058%;
}
.questions_list_item_q .comment {
	border-bottom-right-radius: 0;
	-webkit-box-ordinal-group: 0;
	    -ms-flex-order: -1;
	        order: -1;
	-webkit-transition-delay: 600ms;
	        transition-delay: 600ms;
}
.questions_list_item_q .comment::before {
	right: -2px;
}
.questions_list_item_a .icon, .questions_list_item_a2 .icon {
	width: 25.9824%;
	max-width: 265px;
	-webkit-transition-delay: 1500ms;
	        transition-delay: 1500ms;
}
.questions_list_item_a .icon span, .questions_list_item_a2 .icon span {
	width: 69.43397%;
	right: 0;
	top: 50%;
	margin-right: 7.5471%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}
.questions_list_item_a .comment, .questions_list_item_a2 .comment {
	background-color: var(--c_key1);
	border-bottom-left-radius: 0;
	-webkit-transition-delay: 1600ms;
	        transition-delay: 1600ms;
}
.questions_list_item_a .comment::before, .questions_list_item_a2 .comment::before {
	left: -2px;
	background-color: var(--c_key1);
	-webkit-transform: skewX(-45deg);
	        transform: skewX(-45deg);
}
.questions_list_item_a .comment .txt, .questions_list_item_a2 .comment .txt {
	color: #fff;
}
.questions_list_item_a .comment .btn_circle_l, .questions_list_item_a2 .comment .btn_circle_l {
	position: absolute;
	right: clamp(0px, 12%, 60px);
	bottom: 88px;
	bottom: clamp(60px, 5.714vw, 88px);
	-webkit-transform: translate(100%, 100%);
	        transform: translate(100%, 100%);
}
.questions_list_item_a .comment .btn_circle_l a, .questions_list_item_a2 .comment .btn_circle_l a {
	border-width: 3px;
}
.questions_list_item_a .comment .btn_circle_d, .questions_list_item_a2 .comment .btn_circle_d {
	position: absolute;
	top: 20px;
	right: 16%;
	-webkit-transform: translateX(100%);
	        transform: translateX(100%);
}
.questions_list_item_a2:not(:last-of-type) {
	margin-bottom: clamp(36px, 3.8961vw, 60px);
}
.questions_list_item_a2:last-of-type .icon {
	-webkit-transition-delay: 2500ms;
	        transition-delay: 2500ms;
}
.questions_list_item_a2:last-of-type .comment {
	-webkit-transition-delay: 2600ms;
	        transition-delay: 2600ms;
}
.questions_list_item_a2 .icon {
	width: 25.9824%;
	max-width: 265px;
}
.questions_list_item_a2 .icon span {
	width: 69.43397%;
	right: 0;
	margin-right: 7.5471%;
}
.questions_list_item_a2 .comment {
	width: 60%;
	max-width: 600px;
	background-color: var(--c_base2);
}
.questions_list_item_a2 .comment::before {
	background-color: var(--c_base2);
}
.questions_list_item_a2 .comment .txt {
	color: var(--c_base1);
	width: 71.6667%;
	max-width: 430px;
	padding-right: 4.6512%;
}
.questions_list_item_a2.fadeIn .icon {
	-webkit-animation: icon linear 0.6s forwards;
	        animation: icon linear 0.6s forwards;
	-webkit-animation-delay: 2500ms;
	        animation-delay: 2500ms;
}

@-webkit-keyframes icon {
	0% {
		-webkit-transform: translateY(0px);
		        transform: translateY(0px);
	}
	100% {
		-webkit-transform: translateY(clamp(120px, 12.6vw, 190px));
		        transform: translateY(clamp(120px, 12.6vw, 190px));
	}
}

@keyframes icon {
	0% {
		-webkit-transform: translateY(0px);
		        transform: translateY(0px);
	}
	100% {
		-webkit-transform: translateY(clamp(120px, 12.6vw, 190px));
		        transform: translateY(clamp(120px, 12.6vw, 190px));
	}
}
@media screen and (max-width: 800px) {
	.questions_bg {
		height: clamp(105px, 28.2052vw, 220px);
	}
	.questions_bg::before {
		height: 5px;
		background-size: 30px;
	}
	.questions_box_img {
		margin-bottom: 72px;
	}
	.questions_box_img .img01 {
		width: 89.7436%;
	}
	.questions_box_img .img01 img {
		border-radius: 0 75px 0 0;
	}
	.questions_box_img .img01::before {
		width: clamp(152px, 38.9744vw, 304px);
		height: clamp(77px, 19.7436vw, 154px);
		bottom: clamp(-45px, -11.5385vw, 0px);
		background-image: url(../img/top/question_img_illust01_sp.png);
	}
	.questions_box_img .img01::after {
		width: clamp(118px, 30.2565vw, 236px);
		height: clamp(36px, 11.2821vw, 88px);
		right: -11.4285%;
		top: clamp(0px, 3.4416vw, 53px);
		background-image: url(../img/top/question_img_illust02_sp.png);
	}
	.questions_box_img .img02 {
		width: 50%;
		margin-top: -28.2052vw;
	}
	.questions_box_img .img02 img {
		border-radius: 50px 0 0 50px;
	}
	.questions_box_img .img02::before, .questions_box_img .img02::after {
		display: none;
	}
	.questions_inner {
		width: 100%;
	}
	.questions_hl {
		width: 83.077%;
		left: auto;
		margin: 0 auto 35px;
		padding: 0;
	}
	.questions_hl .hl_en_rl {
		position: relative;
		top: auto;
		left: auto;
		-webkit-transform: none;
		        transform: none;
	}
	.questions_hl .hl_copy {
		margin-bottom: 0;
	}
	.questions_hl .btn_circle_d {
		display: none;
	}
	.questions_list {
		width: 100%;
		padding: 0 0 35px;
		border-radius: 20px;
	}
	.questions_list::before, .questions_list::after {
		width: 7px;
		height: 7px;
		top: 15px;
	}
	.questions_list::before {
		left: 15px;
	}
	.questions_list::after {
		right: 15px;
	}
	.questions_list_inner {
		width: 89.7436%;
	}
	.questions_list_inner::before, .questions_list_inner::after {
		width: 7px;
		height: 7px;
		bottom: 15px;
	}
	.questions_list_inner::before {
		left: 15px;
	}
	.questions_list_inner::after {
		right: 15px;
	}
	.questions_list .illust01,
	.questions_list .illust02 {
		display: none;
	}
	.questions_list_num, .questions_list_num_last {
		width: 140px;
		height: 30px;
		margin: 35px auto;
		border-width: 1.5px;
	}
	.questions_list_num::before, .questions_list_num_last::before, .questions_list_num::after, .questions_list_num_last::after {
		width: 1.5px;
		height: 19px;
		left: calc(50% - 0.25px);
	}
	.questions_list_num::before, .questions_list_num_last::before {
		top: -20.5px;
	}
	.questions_list_num::after, .questions_list_num_last::after {
		bottom: -20.5px;
	}
	.questions_list_num .n, .questions_list_num_last .n {
		font-size: 12px;
		margin-bottom: 1px;
	}
	.questions_list_num .n::before, .questions_list_num_last .n::before, .questions_list_num .n::after, .questions_list_num_last .n::after {
		width: 1.5px;
		height: 4px;
		left: calc(50% - 0.25px);
	}
	.questions_list_num .n::before, .questions_list_num_last .n::before {
		top: -36.5px;
	}
	.questions_list_num .n::after, .questions_list_num_last .n::after {
		top: -28.5px;
	}
	.questions_list_num .t, .questions_list_num_last .t {
		font-size: 10px;
	}
	.questions_list_num .t span, .questions_list_num_last .t span {
		-webkit-transform: scale(0.9);
		        transform: scale(0.9);
		-webkit-transform-origin: 100% 50%;
		        transform-origin: 100% 50%;
	}
	.questions_list_num .t::before, .questions_list_num_last .t::before, .questions_list_num .t::after, .questions_list_num_last .t::after {
		width: 1.5px;
		height: 4px;
		left: calc(50% - 0.25px);
		-webkit-transform: scale(1.1112);
		        transform: scale(1.1112);
		-webkit-transform-origin: 50% 50%;
		        transform-origin: 50% 50%;
	}
	.questions_list_num .t::before, .questions_list_num_last .t::before {
		bottom: -36.5px;
	}
	.questions_list_num .t::after, .questions_list_num_last .t::after {
		bottom: -28.5px;
	}
	.questions_list_num_last {
		height: 0px;
		margin-bottom: 0;
	}
	.questions_list_num_last::before {
		margin-top: 1.5px;
	}
	.questions_list_num_last::after {
		display: none;
	}
	.questions_list_num_last .n::before, .questions_list_num_last .n::after {
		margin-top: 1.5px;
	}
	.questions_list_item {
		padding: 50px 0;
		background-size: 11px 11px;
		border-radius: 50px;
	}
	.questions_list_item_inner {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	.questions_list_item:first-of-type .txt.ta_center {
		display: block;
	}
	.questions_list_item .comment {
		width: 67.1429%;
		min-height: 80px;
		padding: 5.1283vw 0;
		border-radius: 40px;
		border-radius: 10.2565vw;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	.questions_list_item .comment::before {
		width: 16px;
		height: 16px;
		border-radius: 2px;
	}
	.questions_list_item .comment .txt {
		font-size: clamp(12px, 2vw, 16px);
		width: 76.5958%;
		padding-right: 0;
	}
	.questions_list_item_q {
		margin-bottom: 40px;
	}
	.questions_list_item_q .icon {
		width: 27.1429%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-align: end;
		    -ms-flex-align: end;
		        align-items: flex-end;
	}
	.questions_list_item_q .icon span {
		display: block;
		position: relative;
		left: auto;
		bottom: auto;
	}
	.questions_list_item_q .icon_01 span {
		width: 71.579%;
		max-width: 95px;
		margin: 0;
		margin-left: 12.6316%;
		-webkit-transform: none;
		        transform: none;
	}
	.questions_list_item_q .icon_02 span {
		width: 66.3158%;
		max-width: 88px;
		margin: 0;
		margin-left: 9.4737%;
		margin-bottom: 2px;
		-webkit-transform: none;
		        transform: none;
	}
	.questions_list_item_q .icon_03 span {
		width: 66.3158%;
		max-width: 88px;
		margin: 0;
		margin-left: 7.3684%;
		margin-bottom: 2px;
	}
	.questions_list_item_q .comment {
		border-bottom-right-radius: 0;
	}
	.questions_list_item_q .comment::before {
		right: 2px;
	}
	.questions_list_item_a, .questions_list_item_a2 {
		margin-bottom: 40px;
	}
	.questions_list_item_a .icon, .questions_list_item_a2 .icon {
		width: 27.1429%;
	}
	.questions_list_item_a .icon span, .questions_list_item_a2 .icon span {
		width: 76.8422%;
		max-width: 102px;
		right: 0;
		top: 50%;
		margin-right: 2px;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
	.questions_list_item_a .comment, .questions_list_item_a2 .comment {
		border-bottom-left-radius: 0;
	}
	.questions_list_item_a .comment::before, .questions_list_item_a2 .comment::before {
		left: 2px;
	}
	.questions_list_item_a .comment .btn_circle_l, .questions_list_item_a2 .comment .btn_circle_l {
		right: 50%;
		bottom: 0;
	}
	.questions_list_item_a .comment .btn_circle_l a, .questions_list_item_a2 .comment .btn_circle_l a {
		border-width: 0;
	}
	.questions_list_item_a2:not(:last-of-type) {
		margin-bottom: 40px;
	}
	.questions_list_item_a2 .icon {
		width: 27.1429%;
		-webkit-animation: icon_sp linear 0.6s forwards;
		        animation: icon_sp linear 0.6s forwards;
		-webkit-animation-delay: 2500ms;
		        animation-delay: 2500ms;
	}
	.questions_list_item_a2 .comment {
		width: 67.1429%;
	}
	.questions_list_item .btn_border_d {
		width: 88.5715%;
		max-width: none;
		height: clamp(60px, 15.3847vw, 80px);
		margin: 0 auto;
	}
	.questions_list_item .btn_border_d a {
		font-size: clamp(12px, 2vw, 14px);
	}
	.questions_list_item .btn_border_l {
		width: 60%;
		max-width: none;
		margin: 0 auto;
	}
}
@-webkit-keyframes icon_sp {
	0% {
		-webkit-transform: translateY(0px);
		        transform: translateY(0px);
	}
	100% {
		-webkit-transform: translateY(clamp(120px, 22.5vw, 180px));
		        transform: translateY(clamp(120px, 22.5vw, 180px));
	}
}
@keyframes icon_sp {
	0% {
		-webkit-transform: translateY(0px);
		        transform: translateY(0px);
	}
	100% {
		-webkit-transform: translateY(clamp(120px, 22.5vw, 180px));
		        transform: translateY(clamp(120px, 22.5vw, 180px));
	}
}
/* ========================================

About

======================================== */
.about {
	position: relative;
	padding-top: 100px;
}
.about_bg {
	width: 100%;
	height: 435px;
	display: block;
	position: absolute;
	top: -150px;
	left: 0;
	z-index: 0;
	background-color: var(--c_base2);
}
.about_bg::before {
	width: 100%;
	height: 10px;
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	background-image: url(../img/common/bg_nami.png);
	background-repeat: repeat-x;
	background-size: 60px;
}
.about_bg.fixed {
	position: fixed;
	top: 0;
}
.about_bg.fixed_bottom {
	position: absolute;
	top: auto;
	-webkit-transform: translateY(100%);
	        transform: translateY(100%);
}
.about_inner {
	width: calc(100% - 160px);
	max-width: 1380px;
	margin: 0 auto;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	z-index: 1;
}
.about_hl {
	top: 0;
	margin-top: -250px;
	padding-top: 250px;
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
}
.about_hl .hl_copy {
	margin-top: 60px;
}
.about_list {
	width: calc(92.029% - clamp(112px, 11.5943%, 160px));
	padding-top: 60px;
}
.about_list_item {
	margin-bottom: 90px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
.about_list_item .img {
	width: calc(92.7928% - clamp(280px, 38.7388%, 430px));
	overflow: hidden;
	border-radius: 50px 10px;
}
.about_list_item.item_service h2 img {
	width: 22px;
}
.about_list_item.item_about h2 img {
	width: 47px;
}
.about_list .box_text {
	width: clamp(280px, 38.7388%, 430px);
	padding-top: clamp(22px, 2.5975vw, 40px);
}
.about_list .box_text h2 {
	position: relative;
	margin-bottom: 36px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}
.about_list .box_text h2 .jp {
	font-size: 26px;
	font-size: clamp(20px, 1.6884vw, 26px);
	letter-spacing: 0.09em;
	margin-bottom: 16px;
}
.about_list .box_text h2 .en, .about_list .box_text h2 .news dl dt .item_date_left, .news dl dt .about_list .box_text h2 .item_date_left {
	color: #aaa;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-weight: 500;
}
.about_list .box_text h2 .icon {
	position: absolute;
	top: 4px;
	right: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.about_list .box_text .txt {
	font-size: clamp(14px, 1.038vw, 16px);
	line-height: 2.25;
	letter-spacing: 0.04em;
	text-align: justify;
	margin-bottom: 40px;
}
.about_list_solutions {
	position: relative;
	padding-top: 70px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.about_list_solutions:before {
	width: 77.2728vw;
	height: 100%;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--c_base2);
	border-radius: 0 50px 50px 0;
	z-index: 1;
}
.about_list_solutions .box_text {
	width: 32.4325%;
	margin-left: 7.2073%;
	padding-top: clamp(16px, 1.9481vw, 30px);
	padding-bottom: clamp(32px, 3.8962vw, 60px);
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
	z-index: 2;
}
.about_list_solutions .box_text h2 .icon img {
	width: 26px;
}
.about_list_solutions_case {
	width: calc(92.7928% - clamp(280px, 38.7388%, 430px));
	position: relative;
	z-index: 2;
}
.about_list_solutions_case_inner {
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.about_list_solutions_case_item {
	width: 46.6667%;
	position: relative;
	padding: 45px 0 37px;
	background-color: #fff;
	background-image: radial-gradient(#d9d9d9 8%, transparent 8%);
	background-size: 18px 18px;
	background-position: 50% 50%;
	border-radius: 25px 25px 0 0;
}
.about_list_solutions_case_item .img {
	width: 85.7143%;
	overflow: hidden;
	margin: 0 auto 42px;
	border-radius: 80px;
}
.about_list_solutions_case_item .desc {
	font-size: clamp(11.5px, 1.038vw, 16px);
	font-weight: 500;
	text-align: center;
	line-height: 1.75;
	letter-spacing: 0.05em;
	width: 85.7143%;
	position: relative;
	margin: 0 auto;
}
.about_list_solutions_case_item .desc span {
	color: var(--c_key1);
	letter-spacing: 0.1em;
}
.about_list_solutions_case_item .desc::before {
	width: 15px;
	height: 12px;
	width: clamp(10px, 0.9741vw, 15px);
	content: "";
	display: block;
	position: absolute;
	top: -8px;
	left: 2.0834%;
	left: calc(50% - 7.2em);
	background-image: url(../img/common/ico_quotation_b.svg);
	background-repeat: no-repeat;
	background-position: 0% 0%;
	background-size: 100%;
}
.about_list_solutions_case_item .sub {
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	position: absolute;
	top: -10px;
	right: 14.6429%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.about_list_solutions_case_item .sub .line_v {
	margin-top: 13px;
}

@media screen and (max-width: 1000px) {
	.about_list_item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
	.about_list_item .img {
		width: 100%;
	}
	.about_list_item .box_text {
		width: 100%;
	}
	.about_list_solutions .box_text {
		width: 87.8972%;
		margin-left: 0;
		padding-top: clamp(22px, 2.5975vw, 40px);
	}
	.about_list_solutions_case {
		width: 87.8972%;
	}
}
@media screen and (max-width: 800px) {
	.about {
		padding-top: 70px;
	}
	.about_inner {
		width: 100%;
	}
	.about_bg {
		height: 170px;
		top: 0;
	}
	.about_bg::before {
		height: 5px;
		background-size: 30px;
	}
	.about_hl {
		width: 83.077%;
		margin: 0 auto;
		padding-top: 0;
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}
	.about_hl .hl_copy {
		margin-top: 34px;
	}
	.about_list {
		width: 100%;
		display: block;
		padding-top: 50px;
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}
	.about_list_item {
		width: 89.7436%;
		margin: 0 auto 50px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
	.about_list_item .img {
		margin-bottom: 38px;
		border-radius: 50px 10px;
	}
	.about_list_item.item_service h2 img {
		width: 17px;
	}
	.about_list_item.item_about h2 img {
		width: 34px;
	}
	.about_list .box_text {
		width: 88.5715%;
		margin: 0 auto;
		padding-top: 0;
	}
	.about_list .box_text h2 {
		margin-bottom: 20px;
	}
	.about_list .box_text h2 .jp {
		font-size: 18px;
		font-weight: 500;
		margin-bottom: 14px;
	}
	.about_list .box_text h2 .en, .about_list .box_text h2 .news dl dt .item_date_left, .news dl dt .about_list .box_text h2 .item_date_left {
		font-size: 10px;
		-webkit-transform: scale(0.9);
		        transform: scale(0.9);
		-webkit-transform-origin: 0% 0%;
		        transform-origin: 0% 0%;
	}
	.about_list .box_text h2 .icon {
		top: 0;
		right: 15px;
	}
	.about_list .box_text h2 .icon .line, .about_list .box_text h2 .icon .line_h, .about_list .box_text h2 .icon .line_v {
		width: 30px;
		margin-left: 10px;
		margin-right: 15px;
	}
	.about_list .box_text h2 .icon .line::before, .about_list .box_text h2 .icon .line_h::before, .about_list .box_text h2 .icon .line_v::before, .about_list .box_text h2 .icon .line::after, .about_list .box_text h2 .icon .line_h::after, .about_list .box_text h2 .icon .line_v::after {
		-webkit-transform: translateX(30px);
		        transform: translateX(30px);
	}
	.about_list .box_text .txt {
		font-size: 13px;
		line-height: 2.3;
		margin-bottom: 30px;
	}
	.about_list .box_text .btn_base {
		max-width: none;
		height: 50px;
	}
	.about_list_solutions {
		padding-top: 0;
	}
	.about_list_solutions::before {
		width: 94.8718%;
		right: auto;
		left: 0;
		border-radius: 0 75px 75px 0;
	}
	.about_list_solutions .box_text {
		width: 74.359%;
		margin-left: 10.2565%;
		padding-bottom: 50px;
	}
	.about_list_solutions .box_text h2 {
		margin-bottom: 25px;
	}
	.about_list_solutions .box_text h2 .jp {
		font-size: 18px;
	}
	.about_list_solutions .box_text h2 .icon img {
		width: 24px;
	}
	.about_list_solutions .box_text .txt {
		margin-bottom: 22px;
	}
	.about_list_solutions_case {
		width: 94.8718%;
		overflow: scroll;
		margin-bottom: 40px;
		border-radius: 0 75px 0 0;
	}
	.about_list_solutions_case_inner {
		width: calc(107.6924vw + 10px);
		max-width: 690px;
		padding-top: 50px;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
	}
	.about_list_solutions_case_item {
		width: 53.8462vw;
		max-width: 340px;
		padding: 35px 0 32px;
		background-size: 11px 11px;
	}
	.about_list_solutions_case_item:not(:last-child) {
		margin-right: 10px;
	}
	.about_list_solutions_case_item .img {
		margin-bottom: 33px;
	}
	.about_list_solutions_case_item .desc {
		font-size: 12px;
		line-height: 1.66;
	}
	.about_list_solutions_case_item .desc::before {
		width: 15px;
		top: -8px;
		left: calc(50% - 7.5em);
	}
	.about_list_solutions_case_item .sub {
		font-size: 10px;
		top: -14px;
	}
	.about_list_solutions_case_item .sub .en, .about_list_solutions_case_item .sub .news dl dt .item_date_left, .news dl dt .about_list_solutions_case_item .sub .item_date_left {
		-webkit-transform: scale(0.9);
		        transform: scale(0.9);
		-webkit-transform-origin: 50% 0%;
		        transform-origin: 50% 0%;
	}
	.about_list_solutions_case_item .sub .line_v {
		margin-top: 10px;
	}
}
/* ========================================

News

======================================== */
.news {
	width: calc(100% - 160px);
	max-width: 1380px;
	margin: 90px auto 0;
	position: relative;
	background-color: var(--c_base2);
	background-image: radial-gradient(#d9d9d9 8%, transparent 8%);
	background-size: 18px 18px;
	background-position: 50% 50%;
	border-radius: 50px;
}
.news_inner {
	width: 88.4058%;
	margin: 0 auto;
	padding: min(5%, 60px) 0 min(5.8%, 70px);
}
.news_hl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.news_hl h2 {
	width: min(58%, 470px);
	position: relative;
	margin-bottom: 36px;
	padding-top: 15px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
}
.news_hl h2 .jp {
	font-size: 26px;
	font-size: clamp(20px, 1.6884vw, 26px);
	line-height: 1.3;
	letter-spacing: 0.09em;
	margin-right: 1.3em;
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}
.news_hl h2 .en, .news_hl h2 .news dl dt .item_date_left, .news dl dt .news_hl h2 .item_date_left {
	color: #aaa;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-weight: 500;
	width: 100%;
	margin-top: 16px;
	-webkit-box-ordinal-group: 4;
	    -ms-flex-order: 3;
	        order: 3;
}
.news_hl h2 .icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
}
.news_hl h2 .icon img {
	width: 26px;
}
.news_hl .btn_base {
	width: 40%;
}
.news dl dt {
	background-color: #fff;
	border-radius: 25px;
	padding: 27px 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.news dl dt:not(:last-of-type) {
	margin-bottom: 20px;
}
.news dl dt .item_date_left {
	font-size: 14px;
	letter-spacing: 0.1em;
	width: 9em;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}
.news dl dt .item_title {
	color: var(--c_key1);
	font-size: 16px;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-decoration: underline;
}
.news dl dt .item_title:hover {
	color: inherit;
}
.news .content_item_list_link {
	display: none;
}

@media screen and (min-width: 1001px) {
	.news_hl h2 {
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}
	.news_hl h2 .jp br {
		display: none;
	}
}
@media screen and (max-width: 800px) {
	.news {
		width: 94.8718%;
		margin: 50px 0 0 auto;
		border-radius: 75px 0 0 75px;
		background-size: 11px 11px;
	}
	.news_inner {
		width: 83.7838%;
		padding: 50px 0;
	}
	.news_hl {
		width: 93.5484%;
		margin: 0 auto;
	}
	.news_hl h2 {
		width: 100%;
		margin-bottom: 30px;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
	.news_hl h2 .jp {
		font-size: 18px;
	}
	.news_hl h2 .en, .news_hl h2 .news dl dt .item_date_left, .news dl dt .news_hl h2 .item_date_left {
		font-size: 10px;
		margin-top: 14px;
		-webkit-transform: scale(0.9);
		        transform: scale(0.9);
		-webkit-transform-origin: 0% 0%;
		        transform-origin: 0% 0%;
	}
	.news dl {
		margin-bottom: 30px;
	}
	.news dl dt {
		padding: 22px 9.6775%;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
	}
	.news dl dt .item_date_left {
		font-size: 10px;
		margin-bottom: 8px;
	}
	.news dl dt .item_title {
		font-size: 13px;
		line-height: 1.7;
	}
	.news .btn_base {
		width: 100%;
		max-width: none;
		height: 50px;
	}
}
/*# sourceMappingURL=top.css.map */