@charset "UTF-8";



/*メインイメージ
---------------------------------------------------------*/
.m_img_area #r_bnr {
	position: fixed;
	z-index: 100;
}

.m_img_area .m_img::before,
.m_img_area .m_img::after {
	content: "";	/*上下グラデ*/
	position: absolute;
	z-index: 1;
	width: 100%;
	left: 0;
}
.m_img_area .m_img::before {
	height: 18%;
	top: 0;
	background: linear-gradient(0deg,rgba(6, 40, 74, 0) 0%, rgba(6, 40, 74, 1) 100%);
}
.m_img_area .m_img::after {
	height: 52%;
	bottom: 0;
	background: linear-gradient(0deg,rgba(6, 40, 74, 1) 20%, rgba(6, 40, 74, 0) 85%);
}
.m_img_area .m_img .m_copy {
	position: absolute;
	z-index: 2;
}
.m_img_area .m_img .m_bnr {
	position: absolute;
	z-index: 3;
}
.m_img_area .m_img .m_photo {
	position: relative;
	z-index: 0;
	width: 100%;
	height: 100vh;
}

.m_img_area .m_img .m_copy {
	width: 60%;
	max-width: 830px;
	left: 5%;
	top: 50%;
	transform: translateY(-53%);
}
.m_img_area .m_img .m_copy .copy1 {
	position: relative;
	z-index: 0;
	width: 75%;
	max-width: 600px;
	margin-bottom: -21%;
}
.m_img_area .m_img .m_copy .copy2 {
	position: relative;
	z-index: 1;
}
.m_img_area .m_img .m_copy .copy2 p {
	position: relative;
	z-index: 1;
}
.m_img_area .m_img .m_copy .copy2 .m_line {
	position: absolute;
	z-index: 0;
	width: 107%;
	left: 0;
	bottom: -2%;
}
.m_img_area .m_img .m_copy .copy2 .m_line path.show_line {
	fill: none;
	opacity: .7;
	stroke: #b4e5ef;
	stroke-miterlimit: 10;
	stroke-width: 1.8px;
}
.m_img_area .m_img .m_copy .copy2 .m_line path.mask_line {
	fill: none;
	stroke: #fff;
	stroke-miterlimit: 10;
	stroke-width: 3px;
	stroke-dasharray: 1050px;
	stroke-dashoffset: 1050px;
}
.m_img_area .m_img .m_copy .copy2 .m_line path.show_line {
	mask: url(#mask_line1);
}
.m_img_area.anime_on .m_img .m_copy .copy2 .m_line path.mask_line {
	animation: anim_line1 1.8s 0s forwards cubic-bezier(0.33, 1, 0.68, 1);
}
@keyframes anim_line1 {
	0% {stroke-dashoffset: 1050px;}
	100% {stroke-dashoffset: 0px;}
}

.m_img_area .m_img .m_bnr {
	width: 20%;
	max-width: 246px;
	right: 5%;
	bottom: 18%;
}
.m_img_area .m_img .m_bnr a {
	display: block;
	border-radius: 50%;
	background: #edebe4;
	position: relative;
}
.m_img_area .m_img .m_bnr a:hover {
	background: rgba(0,160,192,0.5);
}
.m_img_area .m_img .m_bnr a::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 27%;
	left: 0;
	top: -2%;
	background: url("../images/m_icon_counselling@2x.png") no-repeat center center;
	background-size: contain;
}

.m_img_area .m_img .m_photo::before {
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 20%;
	left: 0;
	top: 0;
	background: linear-gradient(0deg,rgba(0, 0, 0, 0) 15%, rgba(0, 0, 0, 0.25) 80%);
}
.m_img_area .m_img .m_photo span {
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	display: block;
	overflow: hidden;
}
.m_img_area .m_img .m_photo span.m_portrait {display: none;}
.m_img_area .m_img .m_photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.m_img_area .m_nav_area {
	left: 0;
	right: 0;
	bottom: 2%;
}

#r_bnr {
	width: 7%;
	max-width: 75px;
	right: 0;
	top: 23vh;
	font-family: var(--ff_got);
	text-align: center;
	color: #fff;
	font-size: min(106%,1.5vw);
	letter-spacing: .02em;
	line-height: 1.2em;
}
#r_bnr li {
	margin-bottom: 10px;
}
#r_bnr li:last-child {
	margin-bottom: 0;
}
#r_bnr a {
	display: block;
	background: rgba(255,255,255,0.4);
	padding: 5px;
	margin-right: -5px;
	transition: all 0.4s;
}
#r_bnr a:hover {
	background: rgba(255,255,255,0.8);
	transform: translateX(-5px);
}
#r_bnr div {
	background: #488CC3;
	background: linear-gradient(0deg,rgba(72, 140, 195, 1) 10%, rgba(98, 209, 228, 1) 90%);
	border-radius: 5px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
#r_bnr span {
	display: block;
	font-weight: bold;
}
#r_bnr .icon {
	position: relative;
}
#r_bnr .arrow {
	font-size: 65%;
	line-height: 1.0em;
	padding: .6em 0;
	background: #295375;
	border-bottom-left-radius: inherit;
}
#r_bnr .arrow i {
	display: block;
}

#r_bnr .r_mail .icon {
	padding: 2.5em 0 .5em;
}
#r_bnr .r_mail .icon::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1.7em;
	left: 0;
	top: .5em;
	background: url("../images/icon_mail@2x.png") no-repeat left 70% center;
	background-size: contain;
}
#r_bnr .r_mail .arrow i {
	margin-top: .4em;
}

#r_bnr .r_line div {
	background: #06A130;
	background: linear-gradient(0deg,rgba(6, 161, 48, 1) 0%, rgba(6, 199, 85, 1) 100%);
}
#r_bnr .r_line .icon {
	padding-top: 3.0em;
}
#r_bnr .r_line .icon::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1.6em;
	left: 0;
	top: 1.0em;
	background: url("../images/icon_line@2x.png") no-repeat center center;
	background-size: contain;
}
#r_bnr .r_line .fukiashi {
	width: 140%;
	margin: -12% 0;
	margin-left: -40%;
}
#r_bnr .r_line .arrow {
	background: #0c834a;
}

/* 画面高さ：900px以下
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-height: 900px) {
.m_img_area .m_img .m_copy {
	max-width: 85vh;
}
.m_img_area .m_img .m_bnr {
	max-width: 35vh;
}
#r_bnr {
	max-width: 10vh;
	font-size: min(90%,2.5vh);
}
}

/* 縦向きの場合
------------------------------------------*/
@media only screen and (max-width: 959px) and (orientation: portrait) {
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area .m_img .m_copy {
	width: 70%;
	left: 2%;
	top: 50%;
	transform: translateY(-45%);
}
.m_img_area .m_img .m_bnr {
	width: 25%;
	right: 3%;
	bottom: 15%;
}
#r_bnr {
	width: 8%;
	top: 15vw;
	font-size: 1.7vw;
	letter-spacing: .02em;
	line-height: 1.2em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area #r_bnr {
	display: none !important;
}
.m_img_area .m_img::before {
	height: 25%;
}
.m_img_area .m_img::after {
	height: 58%;
}

.m_img_area .m_img .m_copy {
	width: 96%;
	max-width: 100%;
	margin: auto;
	left: 0;
	right: 0;
	top: auto;
	bottom: 0;
	transform: none;
	display: flex;
	align-items: flex-start;
	flex-direction: column-reverse;
}
.m_img_area .m_img .m_copy .copy1 {
	width: 100%;
	max-width: 100%;
	margin: -15% auto 0;
}

.m_img_area .m_img .m_bnr {
	width: 82%;
	max-width: 100%;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 1%;
}
.m_img_area .m_img .m_bnr a {
	border-radius: 0;
}
.m_img_area .m_img .m_bnr a::before {
	height: 11vw;
	top: -5vw;
}

.m_img_area .m_img .m_photo {
	height: 190vw;
}
.m_img_area .m_img .m_photo::before {
	height: 30%;
}
.m_img_area .m_img .m_photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}
}

/* 縦向きの場合
------------------------------------------*/
@media only screen and (max-width: 767px) and (orientation: portrait) {
.m_img_area .m_img .m_photo span.m_landscape {display: none;}
.m_img_area .m_img .m_photo span.m_portrait {display: block;}
}



/*cases
---------------------------------------------------------*/
#cases .bg {
	background: #06284a;
	color: #fff;
}
#cases .title_box {
	text-align: center;
	position: relative;
	z-index: 1;
}
#cases .title_box .ft_eng1 {
	position: relative;
	z-index: -1;
	font-size: 250%;
	opacity: 0.15;
	margin-bottom: -.2em;
}

#cases .case_slider {
	position: relative;
	z-index: 0;
}
#cases .case_slider .swiper-slide,
#cases .case_slider .slide_arrow {
	width: 85vw;
	max-width: 1220px;
}
#cases .case_slider .swiper-slide {
	box-sizing: border-box;
	border: solid 1px #fff;
	padding: 60px 4%;
	text-align: center;
}
#cases .case_slider .case_count {
	color: var(--color_yellow);
	font-size: 141%;
	margin-bottom: .2em;
}
#cases .case_slider h3 {
	font-size: 153%;
	letter-spacing: .1em;
	line-height: 1.4em;
	padding-bottom: 1.5em;
	margin-bottom: 1.5em;
	position: relative;
}
#cases .case_slider h3::before {
	content: "";
	position: absolute;
	width: 90%;
	height: 1px;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 0;
	background: #FFFFFF;
	background: linear-gradient(90deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
	opacity: 0.4;
}
#cases .case_slider .before_after {
	width: 100%;
	max-width: 1035px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
    align-items: center;
	font-size: 153%;
	padding-bottom: 1.5em;
}
#cases .case_slider .before_after > div {
	width: 47%;
	position: relative;
}
#cases .case_slider .before_after .arrow {
	width: 6%;
	font-size: 120%;
	opacity: 0.3;
}
#cases .case_slider .before_after .img_thum {
	aspect-ratio: 480 / 290;
	position: relative;
}
#cases .case_slider .before_after .img_thum img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}
#cases .case_slider .before_after .ft_eng1 {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	color: #2a6187;
	letter-spacing: .14em;
	bottom: -1.5em;
}

#cases .case_slider .slide_arrow {
	margin: auto;
	position: absolute;
	z-index: 100;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
#cases .case_slider .slide_arrow div {
	width: 6%;
	max-width: 70px;
	position: absolute;
	top: 50%;
	background: #fff;
	border-radius: 50%;
	cursor: pointer;
	transition: background 0.4s;
}
#cases .case_slider .slide_arrow div:hover {
	background: var(--color_gold);
}
#cases .case_slider .slide_arrow .btn_prev {
	left: 0;
	transform: translate(-50%,-50%) rotate(180deg);
}
#cases .case_slider .slide_arrow .btn_next {
	right: 0;
	transform: translate(50%,-50%);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#cases .case_slider .swiper-slide {
	padding: 5% 4%;
}
#cases .case_slider .case_count {
	font-size: 130%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#cases .case_slider .swiper-slide {
	padding: 8vw 4%;
	text-align: center;
}
#cases .case_slider .case_count {
	font-size: 110%;
}
#cases .case_slider h3 {
	font-size: 136%;
	letter-spacing: .05em;
	padding-bottom: .5em;
	margin-bottom: 1.5em;
}
#cases .case_slider .before_after {
	font-size: 100%;
}
#cases .case_slider .before_after > div {
	width: 47%;
}
#cases .case_slider .before_after .arrow {
	width: 6%;
	font-size: 80%;
}
#cases .case_slider .before_after .ft_eng1 {
	letter-spacing: .1em;
}
#cases .case_slider .slide_arrow div {
	width: 10%;
}
}



/*nayami
---------------------------------------------------------*/
#nayami .bg {
	background: #575a4c;
	position: relative;
}
#nayami .bg::after {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 20vw;
	max-height: 281px;
	left: 0;
	bottom: 0;
	background: url("../images/top/naya_bg1@2x.png") no-repeat center bottom;
	background-size: 100% 100%;
}
#nayami .w1350 {
	position: relative;
	z-index: 1;
	text-align: center;
}
#nayami h2 {
	color: #fff;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: .5em;
}
#nayami h2 > span {
	display: inline-block;
	vertical-align: middle;
	font-size: 171%;
	letter-spacing: .1em;
	line-height: 1.4em;
	position: relative;
	transform: translateY(-.2em);
}
#nayami h2 > span::before,
#nayami h2 > span::after {
	content: "";
	position: absolute;
	top: 0;
}
#nayami h2 > span::before {
	width: .7em;
	height: .7em;
	background: url("../images/top/index_abs1@2x.png") no-repeat center center;
	background-size: contain;
	left: .6em;
	transform: translateY(-80%);
}
#nayami h2 > span::after {
	width: 1.3em;
	height: 1.3em;
	background: url("../images/top/index_abs2@2x.png") no-repeat center center;
	background-size: contain;
	right: 0;
	transform: translate(80%, -90%);
}

#nayami .item_list {
	font-size: min(118%,1.7vw);
	letter-spacing: .04em;
	line-height: 1.4em;
	display: flex;
    justify-content: space-between;
}
#nayami .item_list li {
	width: 19%;
	max-width: 250px;
	position: relative;
	z-index: 1;
}
#nayami .item_list li:nth-child(even) {
	transform: translateY(2.0em);
}
#nayami .item_list li:nth-child(2) {transition-delay: 0.2s;}
#nayami .item_list li:nth-child(3) {transition-delay: 0.4s;}
#nayami .item_list li:nth-child(4) {transition-delay: 0.6s;}
#nayami .item_list li:nth-child(5) {transition-delay: 0.8s;}
#nayami .item_list li::before {
	content: "";	/*背景*/
	position: absolute;
	z-index: -1;
	width: 100%;
	height: calc(100% - 4.0em);
	background: #fff;
	box-shadow: 0px 15px 15px -5px rgba(0,0,0,0.3);
	right: 0;
	bottom: 0;
}
#nayami .item_list div {
	width: 70%;
	max-width: 157px;
	margin: 0 auto;
}
#nayami .item_list p {
	padding: .5em 0 1.5em;
}
#nayami .item_list p span {
	font-size: 140%;
	line-height: 1.4em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#nayami .item_list {
	font-size: 1.9vw;
	letter-spacing: normal;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#nayami h2 > span {
	transform: none;
}
#nayami .item_list {
	font-size: 100%;
	letter-spacing: normal;
	display: block;
}
#nayami .item_list li {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: .5em 6%;
	margin-bottom: 3%;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
#nayami .item_list li:last-child {
	margin-bottom: 0;
}
#nayami .item_list li:nth-child(even) {
	transform: none;
}
#nayami .item_list li::before {
	width: 100%;		/*背景*/
	height: 100%;
}
#nayami .item_list div {
	width: 25%;
	max-width: 100%;
	margin: 0;
}
#nayami .item_list p {
	width: 70%;
	padding: 0;
	text-align: left;
}
#nayami .item_list p span {
	font-size: 130%;
}
}



/*features
---------------------------------------------------------*/
#features .bg {
	background: var(--features_light);
	color: #fff;
}
#features .title_box {
	text-align: center;
	letter-spacing: .02em;
	line-height: 1.4em;
	position: relative;
	z-index: 1;
}
#features .title_box h2 .txt_small {
	font-size: 71%;
	letter-spacing: .02em;
	line-height: 1.4em;
}
#features .title_box h2 .txt_img {
	display: block;
	width: 60%;
	margin: 1.0em auto 0;
}
#features .title_box .bg_txt {
	position: absolute;
	z-index: -1;
	width: 100%;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-65%);
}

#features .pickup {
	background: var(--features_dark);
	position: relative;
}
#features .pickup::before {
	content: "";	/*背景グラデ*/
	position: absolute;
	z-index: 0;
	width: 50%;
	height: 100%;
	top: 0;
}
#features .pickup.img_l::before {
	right: 0;
	background: linear-gradient(90deg,rgba(18, 33, 57, 0) 0%, rgba(18, 33, 57, 0.7) 100%);
}
#features .pickup.img_r::before {
	left: 0;
	background: linear-gradient(90deg,rgba(18, 33, 57, 0.7) 0%, rgba(18, 33, 57, 0) 100%);
}
#features .pickup .img_box {
	position: relative;
	z-index: 1;
	width: 45%;
	max-width: 605px;
	padding-top: 100px;
	padding-bottom: 120px;
}
#features .pickup .txt_box {
	position: relative;
	z-index: 2;
	width: 57%;
	max-width: 730px;
	box-sizing: border-box;
	padding: 100px 5%;
}
#features .pickup.img_l .img_box {
	float: left;
	margin-left: -6%;
}
#features .pickup.img_l .txt_box {
	float: right;
}
#features .pickup.img_r .img_box {
	float: right;
	margin-right: -6%;
}
#features .pickup.img_r .txt_box {
	float: left;
}
#features .pickup .img_box > div {
	position: relative;
}
#features .pickup .img_box .abs1 {
	position: absolute;
	z-index: 1;
	width: 35%;
	max-width: 200px;
	bottom: 10%;
}
#features .pickup.img_l .img_box .abs1 {
	right: 0;
	transform: translateX(35%);
}
#features .pickup.img_r .img_box .abs1 {
	left: 0;
	transform: translateX(-35%);
}
#features .pickup .img_box .abs1::before {
	content: "";	/*影*/
	position: absolute;
	width: 100%;
	height: 4vw;
	max-height: 20px;
	left: 0;
	top: 100%;
	background: url("../images/top/feat_shadow@2x.png") no-repeat center top;
	background-size: 100% 100%;
}
#features .pickup .img_box .abs2 {
	position: absolute;
	z-index: 2;
}
#features .pickup .no {
	font: var(--font_eng1);
	color: var(--features_light);
	font-size: min(1235%,18vw);
	letter-spacing: -.04em;
	position: absolute;
	z-index: -1;
	top: -.15em;
	right: 8%;
}
#features .pickup .lead {
	font-family: var(--ff_got);
	font-weight: bold;
	letter-spacing: .06em;
	line-height: 1.5em;
	margin-bottom: .5em;
}
#features .pickup h3 {
	font-size: min(247%,3.2vw);
	letter-spacing: .04em;
	line-height: 1.4em;
	margin-bottom: .5em;
}
#features .pickup h3 span {
	color: var(--color_yellow);
}

#features .point {
	width: 90%;
	max-width: 1076px;
	margin-left: auto;
	margin-right: auto;
}
#features .point .ttl {
	text-align: center;
}
#features .point .ttl .ft_eng1 {
	color: #dcd888;
	font-size: 118%;
	letter-spacing: .06em;
	margin-bottom: .8em;
}
#features .point .ttl h4 {
	font-size: min(188%,3.0vw);
	letter-spacing: .06em;
	line-height: 1.5em;
	padding-bottom: .5em;
	margin-bottom: 1.5em;
	position: relative;
}
#features .point .ttl h4::before {
	content: "";	/*グラデ下線*/
	position: absolute;
	width: 90%;
	height: 1px;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 0;
	background: #FFFFFF;
	background: linear-gradient(90deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
	opacity: 0.4;
}
#features .point .flt_box .img_l {
	width: 37%;
	max-width: 390px;
	float: left;
}
#features .point .flt_box .txt_r {
	width: 61%;
	float: right;
}

#features .subbox {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
#features .col3_list {
	display: flex;
    flex-wrap: wrap;
	column-gap: 5.375%;
	row-gap: 80px;
}
#features .col3_list > li {
	width: 29.75%;
}

#features .box1 .pickup .img_box .abs1 {
	bottom: 22%;
}
#features .box1 .pickup .img_box .abs2 {
	width: 47%;
	max-width: 280px;
	right: 8%;
	bottom: 0;
	transform: translateY(30%);
}

#features .box2 .pickup .img_box .abs2 {
	width: 60%;
	max-width: 296px;
	right: 8%;
	bottom: 0;
	transform: translateY(22%);
}

#features .box3 .subbox .col3_list h5 {
	width: 100%;
	max-width: 308px;
	background: #fff;
	box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.3);
	text-align: center;
	font-family: var(--ff_got);
	color: var(--color_base);
	font-size: min(129%,1.9vw);
	font-weight: bold;
	letter-spacing: .06em;
	line-height: 1.3em;
	padding: .5em .5em;
	border-radius: .3em;
	margin: 0 auto 1.5em;
	position: relative;
}
#features .box3 .subbox .col3_list h5 .color1 {color: #ba9252;}
#features .box3 .subbox .col3_list h5 .color2 {color: #4085a2;}
#features .box3 .subbox .col3_list h5::before {
	content: "";
	position: absolute;
	width: 100%;
	height: .6em;
	left: 0;
	top: 100%;
	background: url("../images/top/feat_fukidashi@2x.png") no-repeat center top;
	background-size: contain;
}
#features .box3 .subbox .col3_list dl {
	width: 100%;
	max-width: 356px;
	margin-left: auto;
	margin-right: auto;
}
#features .box3 .subbox .col3_list dt {
	text-align: center;
	font-size: min(176%,2.6vw);
	letter-spacing: .02em;
	line-height: 1.4em;
	margin-top: .6em;
	padding-bottom: .8em;
	border-bottom: solid 1px #fff;
	margin-bottom: .8em;
}
#features .box3 .subbox .col3_list dt span {
	display: block;
	font-size: 65%;
	line-height: 1.4em;
}
#features .box3 .subbox .col3_list dd {
	width: 100%;
	max-width: 308px;
	margin-left: auto;
	margin-right: auto;
}

#features .box4 .pickup .img_box .abs2 {
	width: 30%;
	max-width: 140px;
	right: 12%;
	bottom: 8%;
}

#features .other_list div,
#features .other_list p {
	position: relative;
	z-index: 2;
}
#features .other_list h3 {
	font-size: min(160%,2.5vw);
	letter-spacing: normal;
	line-height: 1.5em;
	padding: 1.5em 0 .5em;
	position: relative;
	z-index: 1;
}
#features .other_list h3::before {
	content: "05";
	font: var(--font_eng1);
	color: var(--features_dark);
	font-size: min(571%,13.6vw);
	letter-spacing: -.04em;
	display: block;
	position: absolute;
	z-index: -1;
	right: -.15em;
	top: 0;
	opacity: 0;
	transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}
#features .other_list h3.anime_on::before {
	opacity: 1;
	top: -.3em;
}
#features .other_list > li:nth-child(2) h3::before {content: "06";}
#features .other_list > li:nth-child(3) h3::before {content: "07";}
#features .other_list > li:nth-child(4) h3::before {content: "08";}
#features .other_list > li:nth-child(5) h3::before {content: "09";}
#features .other_list > li:nth-child(6) h3::before {content: "10";}
#features .other_list > li:nth-child(3n-1) h3::before {
	transition-delay: 0.2s;
}
#features .other_list > li:nth-child(3n) h3::before {
	transition-delay: 0.4s;
}
#features .other_list h3 span {
	color: var(--color_yellow);
}
#features .other_list .img_adjust {
	padding-bottom: 5.0%;
}
#features .other_list p {
	word-break: break-all;
}
#features .other_list .com_link1 {
	text-align: center;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#features .pickup .img_box {
	padding-top: 10%;
	padding-bottom: 1.0em;
}
#features .pickup .txt_box {
	width: 100%;
	max-width: 100%;
	padding: 10% 5%;
	float: none !important;
}
#features .pickup.img_l .img_box {
	margin-right: 10%;
}
#features .pickup.img_r .img_box {
	margin-left: 10%;
}
#features .pickup.img_r .no {
	right: 52%;
}
#features .pickup h3 {
	font-size: 3.4vw;
	letter-spacing: normal;
}

#features .point .ttl h4 {
	margin-bottom: 1.0em;
}
#features .point .flt_box .img_l {
	width: 45%;
	margin-right: 4%;
	margin-bottom: 1.0em;
}
#features .point .flt_box .txt_r {
	width: 100%;
	float: none;
}

#features .col3_list {
	column-gap: 3.5%;
	row-gap: 6vw;
}
#features .col3_list > li {
	width: 31%;
}

#features .box3 .subbox .col3_list dt {
	font-size: 2.8vw;
	letter-spacing: normal;
}
#features .box3 .subbox .col3_list dt span {
	font-size: 75%;
}

#features .other_list h3 {
	font-size: 2.8vw;
}
#features .other_list .com_link1 a {
	font-size: 100%;
	letter-spacing: normal;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#features .title_box h2 .txt_img {
	width: 85%;
	margin-top: .2em;
}
#features .title_box .bg_txt {
	width: 110%;
	left: -5%;
	right: auto;
	top: 55%;
	transform: none;
}

#features .pickup {
	padding: 8vw 0 10vw;
}
#features .pickup .img_box {
	width: 90%;
	max-width: 100%;
	padding: 0;
	margin-bottom: 5vw;
	float: none !important;
	z-index: 2;
}
#features .pickup.img_l .img_box {
	margin-left: -6%;
	margin-right: auto;
}
#features .pickup.img_r .img_box {
	margin-left: auto;
	margin-right: -6%;
}
#features .pickup .txt_box {
	width: 100%;
	max-width: 100%;
	padding: 20vw 6% 0;
	float: none !important;
	z-index: 1;
}
#features .pickup .img_box .abs1 {
	width: 45%;
	max-width: 100%;
	bottom: 10%;
}
#features .pickup.img_l .img_box .abs1 {
	transform: translateX(53%);
}
#features .pickup.img_r .img_box .abs1 {
	transform: translateX(-53%);
}
#features .pickup .no {
	font-size: 800%;
	top: -.15em;
	right: -.05em;
}
#features .pickup .lead {
	letter-spacing: .05em;
}
#features .pickup h3 {
	font-size: 190%;
	letter-spacing: normal;
	line-height: 1.4em;
	margin-bottom: .5em;
}

#features .point {
	width: 100%;
}
#features .point .ttl .ft_eng1 {
	font-size: 100%;
	margin-bottom: .5em;
}
#features .point .ttl h4 {
	font-size: 150%;
	letter-spacing: .02em;
	padding-bottom: .8em;
	margin-bottom: 1.0em;
}
#features .point .ttl h4::before {
	width: 100%;	/*グラデ下線*/
}
#features .point .flt_box .img_l {
	width: 90%;
	max-width: 100%;
	float: none;
	margin: 0 auto 1.0em;
}
#features .point .flt_box .txt_r {
	width: 100%;
	float: none;
}

#features .col3_list {
	display: block;
}
#features .col3_list > li {
	width: 100%;
	margin-bottom: 10vw;
}
#features .col3_list > li:last-child {
	margin-bottom: 0;
}

#features .box1 .pickup .img_box {
	padding-bottom: 8vw;
}
#features .box1 .pickup .img_box .abs1 {
	bottom: 0;
}
#features .box1 .pickup .img_box .abs2 {
	width: 58%;
	max-width: 100%;
	right: 12%;
	bottom: 0;
	transform: translateY(75%);
}

#features .box2 .pickup .img_box .abs2 {
	width: 65%;
	max-width: 100%;
	right: 3%;
	transform: translateY(40%);
}
#features .box2 .pickup h3 .pc_only {
	display: block !important;
}

#features .box3 .subbox .col3_list h5 {
	width: 90%;
	max-width: 100%;
	font-size: 105%;
	font-weight: bold;
	letter-spacing: .02em;
}
#features .box3 .subbox .col3_list h5 + div {
	width: 60%;
	margin: 0 auto;
}
#features .box3 .subbox .col3_list dl {
	max-width: 100%;
}
#features .box3 .subbox .col3_list dt {
	font-size: 145%;
	letter-spacing: .02em;
	padding-bottom: .5em;
}
#features .box3 .subbox .col3_list dt span {
	font-size: 75%;
}
#features .box3 .subbox .col3_list dd {
	width: 90%;
	max-width: 100%;
}

#features .box4 .pickup .img_box .abs2 {
	width: 40%;
	max-width: 100%;
	right: 3%;
	bottom: 0;
	transform: translateY(15%);
}

#features .other_list .img_item {
	width: 80%;
	margin: 0 auto;
}
#features .other_list h3 {
	text-align: center;
	font-size: 140%;
	padding: .5em 0 .5em;
}
#features .other_list h3::before {
	font-size: 600%;
}
#features .other_list > li:nth-child(3n-1) h3::before,
#features .other_list > li:nth-child(3n) h3::before {
	transition-delay: 0s;
}
#features .other_list .box6 h3 .pc_only {
	display: block !important;
}
}



/*voice
---------------------------------------------------------*/
#voice .bg {
	background: var(--features_light);
	color: #fff;
}
#voice .item_list {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	row-gap: var(--gap_60);
}
#voice .item_list li {
	width: 47%;
}
#voice .item_list li iframe {
	width: 100%;
	aspect-ratio: 560 / 315;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#voice .item_list li {
	width: 48.5%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#voice .item_list {
	display: block;
}
#voice .item_list li {
	width: 100%;
	margin-bottom: var(--gap_60);
}
#voice .item_list li:last-child {
	margin-bottom: 0;
}
}



/*about
---------------------------------------------------------*/
#about .bg {
	background: #514c3c;
	color: #fff;
}
#about .w1300 {
	position: relative;
	z-index: 1;
}
#about .title_box {
	text-align: center;
}
#about .title_box h2 {
	display: inline-block;
	position: relative;
	letter-spacing: -.08em;
	margin-bottom: .8em;
}
#about .title_box h2::before {
	content: "";
	position: absolute;
	width: 2.7em;
	height: 2.7em;
	background: url("../images/top/index_abs4@2x.png") no-repeat center center;
	background-size: contain;
	right: 0;
	bottom: -.3em;
	transform: translateX(80%);
}
#about .title_box h2 .abs {
	position: absolute;
	width: 1.4em;
	left: 0;
	top: 0;
	transform: translate(-70%,-70%);
}
#about .title_box h2 .txt_small {
	font-size: 73%;
	line-height: 1.4em;
}

#about .com_index1 {
	background-color: #bc9046;
	background-image: url("../images/index2@2x.png");
}
#about .com_index1 span {
	color: #ffffbe;
}

#about .box1 .flt_box {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
#about .box1 .flt_box .img_l {
	width: 44%;
	float: left;
}
#about .box1 .flt_box .txt_r {
	width: 52%;
	float: right;
}
#about .box1 .flt_box .txt_r dt {
	margin-bottom: .5em;
}

#about .box2 {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
#about .box2 .item_list {
	display: flex;
    justify-content: space-between;
	text-align: center;
	font-size: min(141%,2.0vw);
	letter-spacing: .08em;
	line-height: 1.4em;
}
#about .box2 .item_list li {
	width: 23%;
}
#about .box2 .item_list div {
	width: 12vw;
	max-width: 130px;
	margin: 0 auto .5em;
}
#about .box2 .item_list span {
	font-size: 125%;
	line-height: 1.4em;
}

#about .box3 {
	background: var(--bg_base);
	color: var(--color_base);
	text-align: center;
	padding: 0 4% var(--gap_80);
}
#about .box3 .sub_ttl {
	position: relative;
}
#about .box3 .sub_ttl::before {
	content: "";	/*上背景*/
	position: absolute;
	z-index: 0;
	width: 100vw;
	height: 50%;
	background: #514c3c;
	left: 50%;
	top: -1px;
	transform: translateX(-50%);
}
#about .box3 .sub_ttl .fukidashi {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1046px;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
	text-align: center;
	padding: .9em 3% .8em;
	border-radius: .5em;
}
#about .box3 .sub_ttl .fukidashi::before {
	content: "";	/*ふきだし*/
	position: absolute;
	width: 100%;
	height: .6em;
	background: url("../images/top/abou_fukidashi1@2x.png") no-repeat center top;
	background-size: contain;
	left: 0;
	top: 100%;
}
#about .box3 .sub_ttl .fukidashi div {
	position: absolute;
	z-index: 0;
	width: 14%;
	max-width: 136px;
	left: 8%;
	bottom: 0;
}
#about .box3 .sub_ttl .fukidashi h3 {
	position: relative;
	z-index: 1;
	display: inline-block;
}
#about .box3 .sub_ttl .fukidashi h3::before {
	content: "";	/*はてな*/
	position: absolute;
	width: 5.0em;
	height: 5.0em;
	background: url("../images/top/abou_hatena@2x.png") no-repeat center center;
	background-size: contain;
	right: 0;
	bottom: -.1em;
	transform: translateX(90%);
}
#about .box3 .sub_ttl .fukidashi h3 > span {
	display: inline-block;
	vertical-align: middle;
	font-size: 167%;
	line-height: 1.4em;
	transform: translateY(-.1em);
	margin-left: .2em;
}
#about .box3 .sub_ttl .fukidashi h3 > span span {
	color: #bc9046;
}
#about .box3 table {
	font-size: min(118%,1.7vw);
	letter-spacing: .04em;
	line-height: 1.5em;
	border-collapse: separate;
	border-spacing: 4px;
}
#about .box3 table tbody th {
	border-bottom: solid 1px #fff;
}
#about .box3 table thead td {
	background: var(--bg_base);
	position: relative;
}
#about .box3 table thead td::before {
	content: "";	/*背景色：スマホ時にstickyにするため*/
	position: absolute;
	width: 100%;
	height: calc(100% + 2.0em);
	left: 0;
	top: -1.0em;
	background: var(--bg_base);
}
#about .box3 table thead td::after {
	content: "";	/*下罫線：スマホ時にstickyにするため*/
	position: absolute;
	width: 100%;
	height: 1px;
	background: #fff;
	left: 0;
	top: 100%;
}
#about .box3 table thead th {
	background: #bcbcb7;
	font-size: 135%;
	font-weight: 400;
	letter-spacing: .02em;
	line-height: 1.3em;
	padding: 0 3% 1.0em;
	text-align: center;
	vertical-align: top;
	position: relative;
}
#about .box3 table thead th::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 5px;
	background: #bcbcb7;
	left: 0;
	top: 100%;
}
#about .box3 table thead th div {
	width: 90%;
	margin: -1.0em auto .5em;
}
#about .box3 table thead th p {
	background: #fff;
	padding: .2em 0;
	border-radius: 1.0em;
}
#about .box3 table tbody th,
#about .box3 table tbody td {
	text-align: center;
}
#about .box3 table tbody th {
	width: 22%;
	vertical-align: middle;
}
#about .box3 table tbody td {
	width: 26%;
	vertical-align: top;
}
#about .box3 table tbody th {
	background: var(--bg_base);
	font-size: 130%;
	font-weight: 400;
	letter-spacing: .02em;
	line-height: 1.3em;
	padding: 1.5em 2%;
}
#about .box3 table tbody td {
	background: #fff;
	padding: 1.2em 1%;
	font-family: var(--ff_got);
}
#about .box3 table tbody tr:nth-child(even) td {
	background: #f5f4f1;
}
#about .box3 table tbody tr:first-child td {
	padding-top: 3.0em;
	background-image: url("../images/top/abou_fukidashi3@2x.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: contain;
}
#about .box3 table tbody tr:first-child td.color1 {
	background-image: url("../images/top/abou_fukidashi2@2x.png");
}
#about .box3 table tbody td i {
	font-size: 240%;
	margin-bottom: .2em;
}
#about .box3 table tbody td .icon-imp_score1 {color: #58a896;}
#about .box3 table tbody td .icon-imp_score2 {color: #58a896;}
#about .box3 table tbody td .icon-imp_score3 {color: #da9e7e;}
#about .box3 table tbody td .icon-imp_score4 {color: #bc6852;}

#about .box3 table thead th.color1 {background: #58bbad;}
#about .box3 table thead th.color1::before {background: #58bbad;}

#about .txt_bottom {
	margin-top: 2.0em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#about .box1 .flt_box .img_l {
	width: 44%;
	margin-right: 3%;
}
#about .box1 .flt_box .txt_r {
	width: 100%;
	float: none;
}
#about .box2 .item_list {
	font-size: 2.2vw;
}

#about .box3 .sub_ttl .fukidashi div {
	left: 4%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#about .title_box h2::before {
	width: 2.2em;
	height: 2.2em;
	transform: translateX(55%);
}
#about .title_box h2 .abs {
	left: 0;
	top: 0;
	transform: translate(-55%,-50%);
}

#about .box1 {
	margin-bottom: 8vw;
}
#about .box1 .flt_box .img_l {
	width: 100%;
	float: none;
	margin: 0 auto;
}
#about .box1 .flt_box .txt_r {
	width: 100%;
	float: none;
}
#about .box1 .flt_box .txt_r dt {
	text-align: center;
}

#about .box2 .item_list {
    justify-content: space-between;
    flex-wrap: wrap;
	font-size: 110%;
	letter-spacing: .02em;
	line-height: 1.4em;
	row-gap: 1.0em;
}
#about .box2 .item_list li {
	width: 48%;
}
#about .box2 .item_list div {
	width: 50%;
	max-width: 100%;
}

#about .box3 .sub_ttl .fukidashi {
	padding: .6em 3% .5em;
}
#about .box3 .sub_ttl .fukidashi div {
	width: 20%;
	max-width: 100%;
	left: 2%;
}
#about .box3 .sub_ttl .fukidashi h3::before {
	width: 4.0em;	/*はてな*/
	height: 4.0em;
}
#about .box3 .sub_ttl .fukidashi h3 > span {
	font-size: 150%;
	margin-left: 0;
}
#about .box3 .scl_area {
	overflow-x: scroll;
	padding-top: 5vw;
}
#about .box3 table {
	width: 140vw;
	font-size: 90%;
	letter-spacing: normal;
}
#about .box3 table thead th {
	font-size: 120%;
	letter-spacing: normal;
	padding: 0 1% 1.0em;
}
#about .box3 table tbody th {
	width: 19%;
}
#about .box3 table tbody td {
	width: 27%;
	vertical-align: top;
}
#about .box3 table tbody th {
	font-size: 130%;
	padding: 1.5em 0;
}
#about .box3 table tbody td {
	padding: .5em 1% 1.0em;
}
#about .box3 table tbody tr:first-child td {
	padding-top: 2.0em;
}
#about .box3 table thead td,
#about .box3 table tbody th {
	position: sticky;
	z-index: 10;
	left: 0;
}
}



/*process
---------------------------------------------------------*/
#process .bg {
	background: #4c86ae;
	color: #fff;
	position: relative;
}
#process .bg::before {
	content: "";
	position: absolute;
	z-index: 1;
	width: 50%;
	max-width: 680px;
	height: 100%;
	right: 0;
	top: 0;
	background: url("../images/top/flow_bg1@2x.png") no-repeat right top;
	background-size: 100% auto;
}
#process .com_index2,
#process .sub_box,
#process .box_list > li {
	position: relative;
	z-index: 2;
}
#process .box_list {
	width: 100%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	background: #397296;
	box-sizing: border-box;
	padding: 60px 4%;
	position: relative;
}
#process .box_list::before {
	content: "";	/*下ふきだし*/
	position: absolute;
	width: 100%;
	height: 3.5vw;
	max-height: 38px;
	left: 0;
	top: 100%;
	background: url("../images/top/flow_arrow1@2x.png") no-repeat center top;
	background-size: contain;
}

#process .box_list > li {
	width: 100%;
	max-width: 940px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 50px;
}
#process .box_list > li:last-child {
	padding-bottom: 0;
}
#process .box_list > li::before,
#process .box_list > li::after {
	content: "";	/*数字、罫線*/
	position: absolute;
	left: 0;
	top: 0;
	text-align: center;
	font: var(--font_eng1);
	color: #af7e3b;
	font-size: min(306%,4.4vw);
	letter-spacing: normal;
	line-height: 1.6em;
}
#process .box_list > li::before {
	z-index: 1;
	content: "1";
	width: 1.6em;
	background: #fff;
	border-radius: 50%;
	border: solid 10px #397296;
	border-left: none;
	border-right: none;
}
#process .box_list > li:nth-child(2)::before {content: "2";}
#process .box_list > li:nth-child(3)::before {content: "3";}
#process .box_list > li:nth-child(4)::before {content: "4";}
#process .box_list > li:nth-child(5)::before {content: "5";}
#process .box_list > li:nth-child(6)::before {content: "6";}
#process .box_list > li:nth-child(7)::before {content: "7";}
#process .box_list > li:nth-child(8)::before {content: "8";}
#process .box_list > li::after {
	z-index: 0;
	width: .8em;
	height: 100%;
	border-right: dashed 1px #fff;
	opacity: 0.3;
}
#process .box_list > li:last-child::after {
	display: none;
}
#process .box_list .in_box {
	width: 85%;
	max-width: 790px;
	margin-left: auto;
	margin-right: 0;
}
#process .box_list .flt_box .img_l {
	width: 30%;
	max-width: 220px;
	float: left;
	border-radius: 10px;
	overflow: hidden;
}
#process .box_list .flt_box .txt_r {
	width: 66%;
	max-width: 520px;
	float: right;
}
#process .box_list dt {
	font-family: var(--ff_got);
	font-weight: bold;
	line-height: 1.4em;
	margin-bottom: .3em;
}

#process .sub_box {
	background: rgba(255,255,255,0.4);
	padding: 60px 4%;
	position: relative;
	color: var(--color_base);
}
#process .sub_box h3 {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	transform: translateY(-50%);
	text-align: center;
	font-size: 118%;
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.4em;
}
#process .sub_box h3 > span {
	display: inline-block;
	background: #fff;
	padding: .5em 3.0em;
	border-radius: 3.0em;
}
#process .sub_box h3 > span span {
	color: #af7e3b;
	font-size: 140%;
}
#process .sub_box dt {
	font-size: min(200%,3.2vw);
	text-align: center;
	margin-bottom: 1.0em;
}
#process .sub_box dd {
	width: 100%;
	max-width: 1020px;
	margin-left: auto;
	margin-right: auto;
}
#process .sub_box dd .img_l {
	width: 32%;
	max-width: 326px;
	float: left;
}
#process .sub_box dd .txt_r {
	width: 64%;
	float: right;
}

.slide_horizontal .swiper-slide {
	width: 40vw;
	max-width: 550px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#process .box_list {
	padding: 7% 4%;
}
#process .box_list > li {
	padding-bottom: 6%;
}
#process .sub_box {
	padding: 7% 4% 5%;
}
#process .sub_box dt {
	font-size: 3.4vw;
}
#process .sub_box dd .img_l {
	width: 38%;
	margin-right: 3%;
	margin-bottom: 1.0em;
}
#process .sub_box dd .txt_r {
	width: 100%;
	float: none;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#process .bg {
	padding-top: 20vw;
}
#process .bg::before {
	width: 70%;
	max-width: 100%;
}
#process .box_list {
	padding: 8vw 6%;
}
#process .box_list > li {
	padding-bottom: 8vw;
}
#process .box_list > li::before,
#process .box_list > li::after {
	font-size: 200%;	/*数字、罫線*/
}
#process .box_list .in_box {
	width: 78%;
}
#process .box_list .flt_box .img_l {
	width: 80%;
	max-width: 100%;
	border-radius: 2vw;
	float: none;
	margin: 0 auto 1.0em;
}
#process .box_list .flt_box .txt_r {
	width: 100%;
	max-width: 100%;
	float: none;
}
#process .box_list dt {
	text-align: center;
	margin-bottom: .2em;
}

#process .sub_box {
	padding: 16vw 6% 8vw;
}
#process .sub_box h3 {
	font-size: 90%;
	letter-spacing: .02em;
	transform: translateY(-25%);
}
#process .sub_box dt {
	font-size: 160%;
	margin-bottom: .5em;
}
#process .sub_box dd .img_l {
	width: 90%;
	max-width: 100%;
	float: none;
	margin: 0 auto 1.0em;
}
#process .sub_box dd .txt_r {
	width: 100%;
	float: none;
}

.slide_horizontal .swiper-slide {
	width: 60vw;
	max-width: 100%;
}
}



/*choose
---------------------------------------------------------*/
#choose #fix_area {
	position: relative;
	margin-bottom: min(200px,18%);
}
#choose #fix_target {
	width: 26vw;
	max-width: 378px;
	z-index: 1;
}
#choose #fix_target h2 {
	padding-top: 30px;
}
/* スクロール時 */
#choose #fix_target.pos_abs {
	position: absolute;
	/* topの位置はjsで指定 */
}
#choose #fix_target.pos_fix {
	position: fixed;
	/* topの位置はjsで指定 */
}
#choose .box_list {
	width: 67%;
	max-width: 845px;
	margin-left: auto;
	margin-right: 0;
}
#choose .box_list > li {
	background: rgba(255,255,255,0.8);
	border-radius: 20px;
	padding: 40px 6% min(100px,14%);
	position: relative;
	margin-bottom: 100px;
}
#choose .box_list > li:last-child {
	margin-bottom: 0;
}
#choose .box_list .in_box {
	width: 100%;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}
#choose .box_list .title_box {
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin-bottom: .8em;
}
#choose .box_list .title_box p {
	width: 3.7em;
}
#choose .box_list .title_box h3 {
	width: calc(95% - 3.7em);
}
#choose .box_list .title_box p {
	aspect-ratio: 1 / 1;
	background: #09698a;
	border-radius: 50%;
	color: #fff;
	position: relative;
}
#choose .box_list .title_box p span {
	text-align: center;
	font-size: 77%;
	letter-spacing: .04em;
	line-height: 1.2em;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-45%);
}
#choose .box_list .title_box p span::after {
	content: "01";
	display: block;
	font: var(--font_eng1);
	font-size: 174%;
	letter-spacing: normal;
	margin-top: .1em;
}
#choose .box_list > li:nth-child(2) .title_box p span::after {content: "02";}
#choose .box_list > li:nth-child(3) .title_box p span::after {content: "03";}
#choose .box_list > li:nth-child(4) .title_box p span::after {content: "04";}
#choose .box_list > li:nth-child(5) .title_box p span::after {content: "05";}
#choose .box_list .bnr_area {
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translateY(50%);
	width: 94%;
	max-width: 727px;
	background: #074768;
	font-family: var(--ff_got);
	color: #fff;
	font-size: min(106%,1.7vw);
	letter-spacing: .06em;
	line-height: 1.7em;
	padding: 1.2em 4%;
}
#choose .box_list .bnr_area .arrow {
	display: block;
	font-size: 320%;
	position: absolute;
	left: 5%;
	top: 50%;
	transform: translateY(-50%);
}
#choose .box_list .bnr_area .abs_img {
	width: 16%;
	max-width: 116px;
	position: absolute;
	left: 18%;
	bottom: 0;
}
#choose .box_list .bnr_area p {
	font-weight: bold;
	width: 70%;
	max-width: 420px;
	margin-left: auto;
	margin-right: 0;
	position: relative;
	z-index: 1;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#choose #fix_target {
	width: 28vw;
}
#choose .box_list > li {
	padding: 5% 6% 14%;
	margin-bottom: 16%;
}
#choose .box_list .title_box {
	margin-bottom: .5em;
}
#choose .box_list .bnr_area {
	font-size: 1.9vw;
	letter-spacing: normal;
	padding: 1.2em 3%;
}
#choose .box_list .bnr_area .arrow {
	font-size: 300%;
	left: 2%;
}
#choose .box_list .bnr_area .abs_img {
	left: 15%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#choose #fix_area {
	margin-bottom: 20vw;
}
#choose #fix_target {
	width: 70%;
	max-width: 100%;
	position: relative !important;
	padding-top: 0 !important;
	top: 0 !important;
	margin: 0 auto 0;
}
#choose #fix_target h2 {
	padding-top: 0;
}
#choose .box_list {
	width: 100%;
	max-width: 100%;
}
#choose .box_list > li {
	border-radius: 3vw;
	padding: 6vw 6% 18vw;
	margin-bottom: 20vw;
}
#choose .box_list .in_box {
	max-width: 100%;
}
#choose .box_list .title_box {
	margin-bottom: .4em;
}
#choose .box_list .bnr_area {
	width: 100%;
	max-width: 100%;
	font-size: 90%;
	letter-spacing: .02em;
	line-height: 1.7em;
	padding: 1.0em 4%;
	margin-right: -6%;
}
#choose .box_list .bnr_area .arrow {
	font-size: 250%;
	left: 3%;
}
#choose .box_list .bnr_area .abs_img {
	left: 15%;
}
#choose .box_list .bnr_area p {
	max-width: 100%;
}
}



/*price
---------------------------------------------------------*/
#price .bg {
	background: #364848;
	color: #fff;
}
#price .com_index2 .ft_eng1 {
	opacity: 0.08;
}
#price .com_index3 {
	background: var(--price_light);
}

#pricelist .price_ttl {
	font-family: var(--ff_got);
	display: flex;
    justify-content: space-between;
    align-items: flex-end;
	margin-bottom: var(--gap_40);
}
#pricelist .price_ttl h3 {
	font-weight: bold;
	letter-spacing: .18em;
	line-height: 1.4em;
	padding-left: 1.4em;
	position: relative;
}
#pricelist .price_ttl h3::before {
	font-family: 'fontello';
	content: '\e805';
	color: var(--price_light);
	font-size: 90%;
	font-weight: normal;
	position: absolute;
	left: 0;
	top: -.1em;
}
#pricelist .price_ttl .tax {
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.4em;
}

.tbl_price {
	width: 90%;
	max-width: 1160px;
	margin-left: auto;
	margin-right: auto;
}
.tbl_price th,
.tbl_price td {
	box-sizing: border-box;
	padding-top: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid #fff;	/*項目毎の隙間*/
	font-weight: normal;
}
.tbl_price tr:last-of-type th,
.tbl_price tr:last-of-type td {
	border-bottom: none;
}
.tbl_price th {
	width: 79%;
	vertical-align: top;
	text-align: left;
}
.tbl_price td {
	width: 21%;
	vertical-align: middle;
	text-align: center;
}
.tbl_price th .flt_box {
	overflow: hidden;
}
.tbl_price th .flt_box .img_l {
	float: left;
	width: 30%;
	max-width: 270px;
}
.tbl_price th .flt_box .txt_r {
	float: right;
	width: 70%;
	box-sizing: border-box;
	padding: 0 5%;
}
.tbl_price th dt,
.tbl_price th p.price_style {
	letter-spacing: .02em;
	line-height: 1.3em;	
	font-feature-settings: "halt";
}
.tbl_price th dt .txt_small,
.tbl_price th p.price_style .txt_small {
	font-size: 71%;
	letter-spacing: .02em;
	line-height: 1.3em;
}
.tbl_price th dt {
	margin-bottom: .4em;
}
.tbl_price td {
	background: var(--price_dark);
	padding-left: 1%;
	padding-right: 1%;
	font-size: min(106%,1.8vw);
	letter-spacing: .02em;
	line-height: 1.4em;
}
.tbl_price td .price_txt {
	margin-top: 1.0em;
}
.tbl_price td .price_txt:first-child {
	margin-top: 0;
}
.tbl_price td .price_txt .ft_eng1 {
	font-size: 167%;
	letter-spacing: .04em;
	line-height: 1.2em;
	margin-right: .15em;
}
.tbl_price td .price_txt dt {
	margin-bottom: .2em;
}
.tbl_price td .txt_free {
	font-size: 128%;
	letter-spacing: .24em;
	line-height: 1.4em;
}
.tbl_price td .price_memo {
	font-size: 80%;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-top: .5em;
}

#payment .card {
	width: 100%;
	max-width: 1080px;
	margin: 40px auto;
	background: var(--price_dark);
	text-align: center;
	padding: 60px 10%;
}

#deduction .formula {
	margin-top: 40px;
	background: var(--price_dark);
	box-sizing: border-box;
    padding: 45px 0;
	text-align: center;
	font-family: var(--ff_got);
}
#deduction .formula p {
	font-weight: bold;
}
#deduction .formula > div {
	display: inline-block;
}
 #deduction .formula p:nth-child(1){
	text-align: left;
    font-size: min(129%,1.7vw);
	letter-spacing: .2em;
    line-height: 1.4em;
    margin-bottom: .5em;
	position: relative;
}
#deduction .formula p .small1 {
    font-size: 70%;
	letter-spacing: .2em;
}
#deduction .formula p .small2 {
    font-size: 80%;
	letter-spacing: .2em;
}
#deduction .formula p .col1 {color: #07a2aa;}
#deduction .formula p .col2 {color: #ff8751;}
#deduction .formula p sup {
    font-size: 60%;
}
#deduction .formula p:nth-child(2) {
    text-align: right;
	letter-spacing: .2em;
	line-height: 1.4em;
	padding-left: 1em;
	text-indent: -1em;
}

#warranty .box1 .flt_box {
	width: 100%;
	max-width: 1220px;
	margin-left: auto;
	margin-right: auto;
}
#warranty .box1 .flt_box .img_l {
	width: 34%;
	max-width: 406px;
	float: left;
}
#warranty .box1 .flt_box .txt_r {
	width: 62%;
	max-width: 740px;
	float: right;
}
#warranty .box1 .flt_box dt {
	font-weight: bold;
	margin-bottom: .5em;
}
#warranty .box2 .bg_box {
	background: var(--price_dark);
	padding: 50px 4%;
}
#warranty .box2 .bg_box h4 {
	width: 40%;
	margin: 0 auto;
}
#warranty .box2 .bg_box .fs20 {
	font-weight: bold;
	margin: .5em 0 1.5em;
}
#warranty .box2 .bg_box .item_list {
	width: 100%;
	max-width: 1160px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    justify-content: space-between;
}
#warranty .box2 .bg_box .item_list > li {
	width: 31%;
	max-width: 330px;
}
#warranty .box2 .bg_box .item_list div {
	width: 50%;
	margin: 0 auto;
}
#warranty .box2 .bg_box .item_list dt {
	text-align: center;
	font-size: min(165%,2.2vw);
	line-height: 1.4em;
	margin: .8em 0 .4em;
}
#warranty .box2 .txt_bottom {
	font-weight: bold;
	line-height: 1.5em;
}
#warranty .box2 .txt_bottom span {
	color: #fffcd1;
}
#warranty .box3 .bg_box {
	background: var(--price_light);
	padding: 60px 4% 50px;
	position: relative;
}
#warranty .box3 .bg_box .abs {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	transform: translateY(-70%);
	width: 25%;
}
#warranty .box3 .bg_box h4 {
	text-align: center;
	margin-bottom: 1.0em;
}
#warranty .box3 .bg_box .flt_box {
	width: 100%;
	max-width: 1160px;
	margin-left: auto;
	margin-right: auto;
}
#warranty .box3 .bg_box .flt_box .img_r {
	width: 28%;
	max-width: 320px;
	float: right;
}
#warranty .box3 .bg_box .flt_box .txt_l {
	width: 68%;
	max-width: 765px;
	float: left;
}
#warranty .box3 .bg_box .txt_bottom {
	width: 100%;
	max-width: 954px;
	margin: 1.5em auto 0;
	background: #fff;
	padding: .5em 3%;
	text-align: center;
	color: #364848;
	font-weight: bold;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.tbl_price {
	width: 100%;
}
.tbl_price th,
.tbl_price td {
	padding-top: 4vw;
	padding-bottom: 4vw;
}
#payment .card {
	margin: 4% auto;
	padding: 5% 10%;
}
	
#deduction .sp_txt_l {
	text-align: left;
}
#deduction .formula {
	margin-top: 4vw;
    padding: 4% 0;
}
 #deduction .formula p:nth-child(1){
    font-size: 2.6vw;
	letter-spacing: .05em;
}
#deduction .formula p .small1 {
	letter-spacing: .05em;
}
#deduction .formula p .small2 {
	letter-spacing: .05em;
}
#deduction .formula p:nth-child(2) {
	letter-spacing: .05em;
}

#warranty .box1 .flt_box .img_l {
	width: 36%;
	margin-right: 4%;
	margin-bottom: 1.0em;
}
#warranty .box1 .flt_box .txt_r {
	width: 100%;
	max-width: 100%;
	float: none;
}
#warranty .box2 .bg_box {
	padding: 5% 4%;
}
#warranty .box2 .bg_box .item_list dt {
	font-size: 2.5vw;
	line-height: 1.4em;
}
#warranty .box3 .bg_box {
	padding: 8% 4% 5%;
}
#warranty .box3 .bg_box .abs {
	transform: translateY(-50%);
	width: 28%;
}
#warranty .box3 .bg_box .flt_box .img_r {
	width: 35%;
	margin-left: 4%;
	margin-bottom: 1.0em;
}
#warranty .box3 .bg_box .flt_box .txt_l {
	width: 100%;
	max-width: 100%;
	float: none;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#pricelist .price_ttl {
    align-items: center;
}
#pricelist .price_ttl h3 {
	letter-spacing: .1em;
}
#pricelist .price_ttl .tax {
	letter-spacing: .04em;
}	

.tbl_price {
	display: block;
	width: 100%;
}
.tbl_price tr,
.tbl_price th,
.tbl_price td {
	display: block;
	width: 100% !important;
	box-sizing: border-box !important;
}
.tbl_price th {
	padding: 8vw 0 6vw;
	border-bottom: none;
}
.tbl_price tr:first-child th {
	padding-top: 0;
}
.tbl_price th .flt_box .img_l {
	float: none;
	width: 60%;
	max-width: 100%;
	margin: 0 auto 1.0em;
}
.tbl_price th .flt_box .txt_r {
	float: none;
	width: 100%;
	padding: 0;
}
.tbl_price th dt,
.tbl_price th p.price_style {
	text-align: center;
	font-size: 140%;
	letter-spacing: normal;
}
.tbl_price th dt .txt_small,
.tbl_price th p.price_style .txt_small {
	letter-spacing: normal;
	line-height: 1.4em;
}
.tbl_price th dt {
	margin-bottom: .3em;
}
.tbl_price td {
	padding: .6em 5%;
	font-size: 100%;
	letter-spacing: .06em;
}
.tbl_price td .price_txt {
	margin-top: .5em;
}
.tbl_price td dl.price_txt {
	display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
	column-gap: 1.0em;
}
.tbl_price td .price_txt dt {
	margin-bottom: 0;
}
.tbl_price td .price_memo {
	letter-spacing: normal;
}

#payment .card {
	margin: 5vw auto;
	padding: 4vw 6%;
}

#deduction .formula {
	margin-top: 6vw;
    padding: 6% 4%;
}
 #deduction .formula p:nth-child(1){
    font-size: 105%;
	letter-spacing: normal;
	 line-height: 1.6em;
}
#deduction .formula p .small1 {
	letter-spacing: .02em;
}
#deduction .formula p .small2 {
	letter-spacing: .02em;
}
#deduction .formula p:nth-child(2) {
	letter-spacing: normal;
}

#warranty .box1 .flt_box .img_l {
	width: 80%;
	max-width: 100%;
	float: none;
	margin: 0 auto 1.0em;
}
#warranty .box1 .flt_box .txt_r {
	width: 100%;
	max-width: 100%;
	float: none;
}
#warranty .box2 .bg_box {
	padding: 8vw 6%;
}
#warranty .box2 .bg_box h4 {
	width: 60%;
}
#warranty .box2 .bg_box .fs20 {
	margin: .5em 0 1.5em;
}
#warranty .box2 .bg_box .item_list {
	display: block;
}
#warranty .box2 .bg_box .item_list > li {
	width: 100%;
	max-width: 100%;
	margin-bottom: 6vw;
}
#warranty .box2 .bg_box .item_list > li:last-child {
	margin-bottom: 0;
}
#warranty .box2 .bg_box .item_list div {
	width: 25%;
}
#warranty .box2 .bg_box .item_list dt {
	font-size: 130%;
	margin: .5em 0 .5em;
}
#warranty .box3 .bg_box {
	padding: 18vw 6% 8vw;
}
#warranty .box3 .bg_box .abs {
	transform: translateY(-30%);
	width: 50%;
}
#warranty .box3 .bg_box .flt_box .img_r {
	width: 80%;
	max-width: 100%;
	float: none;
	margin: 0 auto 1.0em;
}
#warranty .box3 .bg_box .flt_box .txt_l {
	width: 100%;
	max-width: 100%;
	float: none;
}
#warranty .box3 .bg_box .txt_bottom {
	text-align: left;
	font-size: 100%;
}
}



/*message
---------------------------------------------------------*/
#message .box1 {
	position: relative;
}
#message .box1::before {
	content: "";	/*背景画像*/
	position: absolute;
	width: 100%;
	height: 45vw;
	max-height: 650px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url("../images/top/mess_bg1@2x.jpg") no-repeat right center;
	background-size: auto 100%;
}
#message .box1 .w1300 {
	position: relative;
	z-index: 1;
}
#message .box1 .com_index2 .ft_eng1 {
	color: #bc9046;
}
#message .box1 dl {
	width: 65%;
}
#message .box1 dt {
	line-height: 1.7em;
	margin-bottom: .5em;
}
#message .box1 dd {
	width: 100%;
	max-width: 810px;
	line-height: 2.7em;
}

#message .box2 .img_box {
	width: 100%;
	height: 45vw;
	max-height: 512px;
	background: #828282 url("../images/top/mess_bg2@2x.jpg") no-repeat center center;
	background-size: auto 100%;
	position: relative;
}
#message .box2 .img_box .w1300 {
	position: absolute;
	z-index: 1;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-55%);
}
#message .box2 .img_box .in_box {
	width: 50%;
	max-width: 590px;
	margin-left: auto;
	margin-right: 0;
	color: #fff;
}
#message .box2 .img_box .txt_name dt {
	font-weight: bold;
	letter-spacing: .18em;
	line-height: 1.4em;
	margin-bottom: 1.0em;
}
#message .box2 .img_box .txt_name dd {
	position: relative;
	z-index: 1;
	font-size: min(235%,3.8vw);
	letter-spacing: .16em;
	line-height: 1.2em;
	display: inline-block;
}
#message .box2 .img_box .txt_name dd .ft_eng1 {
	font-size: 40%;
	letter-spacing: .04em;
	line-height: 1.2em;
	margin-left: 1.5em;
}
#message .box2 .img_box .txt_name dd .mess_line {
	position: absolute;
	z-index: -1;
	width: 180%;
	max-width: 500px;
	left: 50%;
	bottom: 0;
	transform: translate(-50%,65%);
	transition: opacity 0.8s 0.4s;
}
#message .box2 .img_box.anime_on .txt_name dd .mess_line {
	opacity: 0.4;
}
#message .box2 .img_box .txt_name dd .mess_line path.show_line {
	fill: none;
	/*opacity: .4;*/
	stroke: #005068;
	stroke-miterlimit: 10;
}
#message .box2 .img_box .txt_name dd .mess_line path.mask_line {
	fill: none;
	stroke: #fff;
	stroke-miterlimit: 10;
	stroke-width: 3px;
	stroke-dasharray: 600px;
	stroke-dashoffset: 600px;
}
#message .box2 .img_box .txt_name dd .mess_line path.show_line {
	mask: url(#mask_line2);
}
#message .box2 .img_box.anime_on .txt_name dd .mess_line path.mask_line {
	animation: anim_line2 1.2s 0s forwards ease-out;
}
@keyframes anim_line2 {
	0% {stroke-dashoffset: 600px;}
	100% {stroke-dashoffset: 0px;}
}
#message .box2 .img_box .prof_list1,
#message .box2 .img_box .txt_ryakureki {
	font-family: var(--ff_got);
}
#message .box2 .img_box .prof_list1,
#message .box2 .img_box .prof_list2 {
	line-height: 1.5em;
}
#message .box2 .img_box .prof_list1 > li,
#message .box2 .img_box .prof_list2 > li {
	margin-top: 1.0em;
	box-sizing: border-box;
}
#message .box2 .img_box .prof_list1 > li:first-child,
#message .box2 .img_box .prof_list2 > li:first-child {
	margin-top: 0;
}
#message .box2 .img_box .prof_list1 {
	margin: 2.0em 0;
}
#message .box2 .img_box .prof_list1 > li {
	padding-left: 1.0em;
	position: relative;
}
#message .box2 .img_box .prof_list1 > li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}
#message .box2 .img_box .txt_ryakureki {
	display: flex;
    justify-content: space-between;
}
#message .box2 .img_box .txt_ryakureki > dt {
	font-weight: bold;
	letter-spacing: .24em;
	line-height: 1.2em;
	width: 60px;
}
#message .box2 .img_box .txt_ryakureki > dd {
	width: calc(100% - 60px);
	box-sizing: border-box;
	border-left: solid 1px rgba(255,255,255,0.3);
	padding-left: 1.2em;
}
#message .box2 .certificate {
	position: relative;
	z-index: 2;
	width: 90%;
	margin: -40px auto 0;
}
#message .box2 .certificate img {
	filter:drop-shadow(0px 6px 8px rgba(0,0,0,0.1));
}
#message .box2 .txt_bottom {
	text-align: center;
	margin-top: 1.0em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#message .box1::before {
	top: 50%;	/*背景画像*/
	transform: translateY(-30%);
}
#message .box1 dd {
	line-height: 2.2em;
}
#message .box2 .img_box .in_box {
	width: 55%;
}
#message .box2 .img_box .txt_name dt {
	margin-bottom: .5em;
}
#message .box2 .img_box .txt_name dd {
	font-size: 4.2vw;
}
#message .box2 .img_box .txt_name dd .ft_eng1 {
	font-size: 45%;
	margin-left: .5em;
}
#message .box2 .img_box .prof_list1 > li,
#message .box2 .img_box .prof_list2 > li {
	margin-top: .2em;
}
#message .box2 .img_box .prof_list1 {
	margin: 1.0em 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#message .box1::before {
	width: 120vw;	/*背景画像*/
	height: 120vw;
	max-height: 120vw;
	right: 0;
	top: 20vw;
	transform: none;
	background-position: right top;
	background-size: 100% auto;
}
#message .box1 dl {
	margin-top: 30vw;
	width: 100%;
}
#message .box1 dt {
	font-size: 200%;
	margin-bottom: .3em;
}
#message .box1 dd {
	line-height: 2.2em;
}

#message .box2 .img_box {
	height: auto;
	max-height: 100%;
	background-image: url("../images/top/mess_bg2_sp.jpg");
	background-position: center top;
	background-size: 100% auto;
	padding-top: 75vw;
	padding-bottom: 18vw;
}
#message .box2 .img_box .w1300 {
	position: static;
	transform: none;
}
#message .box2 .img_box .in_box {
	width: 90%;
	max-width: 100%;
	margin: 0 auto;
}
#message .box2 .img_box .txt_name dt {
	letter-spacing: .1em;
	margin-bottom: 1.0em;
}
#message .box2 .img_box .txt_name dd {
	font-size: 235%;
}
#message .box2 .img_box .txt_name dd .ft_eng1 {
	display: block;
	margin-left: 0;
	margin-top: .8em;
}
#message .box2 .img_box .txt_name dd .mess_line {
	width: 100vw;
	max-width: 100vw;
	left: -20%;
	bottom: 0;
	transform: translate(0%,0%);
}
#message .box2 .img_box .prof_list1 > li,
#message .box2 .img_box .prof_list2 > li {
	margin-top: .5em;
}
#message .box2 .img_box .prof_list1 {
	margin: 1.5em 0;
}
#message .box2 .img_box .txt_ryakureki > dt {
	width: 20%;
}
#message .box2 .img_box .txt_ryakureki > dd {
	width: 80%;
}
#message .box2 .certificate {
	width: 100%;
	margin-top: -10vw;
}
}



/*faq
---------------------------------------------------------*/
#faq .bg {
	background: #3a3747 url("../images/top/faq_bg1@2x.jpg") no-repeat center bottom;
	background-size: 100% auto;
	color: #fff;
}
#faq .lead {
	text-align: center;
	margin-bottom: .8em;
}
#faq .lead > span {
	display: inline-block;
	background: #fff;
	color: var(--color_base);
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.2em;
	padding: .5em 3.0em;
	border-radius: 3.0em;
}
#faq .lead > span span {
	color: #42a9ae;
	font-size: 140%;
	letter-spacing: .08em;
	line-height: 1.2em;
}
#faq .com_index2 .ft_min {
	display: inline-block;
	position: relative;
}
#faq .com_index2 .ft_min span {
	display: block;
	position: absolute;
	width: 1.6em;
	left: 0;
	top: 0;
	transform: translate(-80%,-50%);
}
#faq .com_index2 .ft_min::before {
	content: "";	/*スタッフイメージ*/
	position: absolute;
	z-index: -1;
	width: 2.4em;
	aspect-ratio: 1 / 1;
	right: 0;
	top: 0;
	background: url("../images/top/faq_img1@2x.png") no-repeat center center;
	background-size: contain;
	transform: translate(55%,-80%);
}

#faq .qa_list {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	row-gap: 40px;
}
#faq .qa_list > li {
	width: 49%;
	max-width: 630px;
	position: relative;
	z-index: 1;
}
#faq .qa_list > li::before {
	content: "";	/*白背景*/
	position: absolute;
	z-index: -1;
	width: calc(100% - 52px);	/*揃える*/
	height: 100%;
	background: #fff;
	right: 0;
	top: 0;
}
#faq .qa_list dl {
	width: calc(100% - 52px);	/*揃える*/
	margin-left: auto;
	margin-right: 0;
	padding-top: 40px;
}
#faq .qa_list dt,
#faq .qa_list dd {
	padding-left: 22%;
	padding-right: 5%;
	padding-top: 30px;
	padding-bottom: 30px;
	position: relative;
}
#faq .qa_list dt::before,
#faq .qa_list dd::before {
	content: "Q.";
	font: var(--font_eng1);
	color: #8f7f8e;
	font-size: min(529%,6.5vw);
	letter-spacing: .04em;
	line-height: 1.0em;
	position: absolute;
	left: 4%;
	top: 30px;
}
#faq .qa_list dd::before {
	content: "A.";
	color: #c3c2a9;
	left: 5%;
}
#faq .qa_list dt {
	background: #5c4667;
	transform: translateX(-52px);	/*揃える*/
}
#faq .qa_list dt::after {
	content: "";	/*角*/
	position: absolute;
	z-index: -1;
	width: 52px;	/*揃える*/
	aspect-ratio: 1 / 1;
	left: 0;
	top: 100%;
	background: url("../images/top/faq_abs1@2x.png") no-repeat left top;
	background-size: 100% auto;
}
#faq .qa_list dt p {
	font-size: min(141%,2.0vw);
	letter-spacing: normal;
	line-height: 1.7em;
}
#faq .qa_list dd {
	color: var(--color_base);
}
#faq .txt_bottom {
	text-align: center;
	letter-spacing: .02em;
	line-height: 1.9em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#faq .qa_list {
	row-gap: 5vw;
}
#faq .qa_list > li::before {
	/*白背景*/
	width: calc(100% - 3vw);	/*揃える*/
}
#faq .qa_list dl {
	width: calc(100% - 3vw);	/*揃える*/
	padding-top: 6%;
}
#faq .qa_list dt,
#faq .qa_list dd {
	padding-top: 3vw;
	padding-bottom: 4vw;
}
#faq .qa_list dt::before,
#faq .qa_list dd::before {
	left: 3%;
	top: 3vw;
}
#faq .qa_list dd::before {
	left: 4%;
}
#faq .qa_list dt {
	transform: translateX(-3vw);	/*揃える*/
}
#faq .qa_list dt::after {
	/*角*/
	width: 3vw;	/*揃える*/
}
#faq .qa_list dt p {
	font-size: 2.2vw;
	line-height: 1.6em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#faq .bg {
	background-size: 180% auto;
}
#faq .lead {
	font-size: 90%;
}
#faq .com_index2 .ft_min span {
	width: 2.2em;
	transform: translate(-80%,-70%);
}
#faq .com_index2 .ft_min::before {
	width: 2.6em;	/*スタッフイメージ*/
	transform: translate(70%,-80%);
}

#faq .qa_list {
	display: block;
}
#faq .qa_list > li {
	width: 100%;
	max-width: 100%;
	margin-bottom: 8vw;
}
#faq .qa_list > li:last-child {
	margin-bottom: 0;
}
#faq .qa_list > li::before {
	/*白背景*/
	width: calc(100% - 5vw);	/*揃える*/
}
#faq .qa_list dl {
	width: calc(100% - 5vw);	/*揃える*/
	padding-top: 6vw;
}
#faq .qa_list dt,
#faq .qa_list dd {
	padding-left: 22%;
	padding-right: 6%;
	padding-top: 5vw;
	padding-bottom: 6vw;
}
#faq .qa_list dt::before,
#faq .qa_list dd::before {
	font-size: 300%;
	left: 3%;
	top: 5vw;
}
#faq .qa_list dd::before {
	left: 5%;
}
#faq .qa_list dt {
	transform: translateX(-5vw);	/*揃える*/
}
#faq .qa_list dt::after {
	/*角*/
	width: 5vw;	/*揃える*/
}
#faq .qa_list dt p {
	font-size: 110%;
	line-height: 1.6em;
}
}



/*form
---------------------------------------------------------*/
#form .bg {
	background: #8d775b;
}
#form .bg_white {
	background: #fff;
}
#form .title_box {
	text-align: center;
}
#form .title_box p {
	display: inline-block;
	background: #00303c;
	color: #fff;
	letter-spacing: .04em;
	line-height: 1.7em;
	padding: 0 2.0em;
	border-radius: 3.0em;
	margin-bottom: .5em;
}
#form .title_box h2 {
	margin-bottom: .5em;
}

.com_form .tbl_form th {
	font-weight: 400;
}
.com_form .tbl_form th .required,
.com_form .tbl_form th .any {
	font-family: var(--ff_got);
}
/********************/
/* テキストボックス */
/********************/
.com_form input[type="text"],
.com_form input[type="tel"],
.com_form input[type="email"],
.com_form textarea,
.com_form select {
	background: #f6f7f1;
	border-radius: 0;
}
/****************/
/* ラジオボタン */
/****************/
 .com_form label:has(input[type=radio]:checked):after {
	background: var(--color_gold);
}
.com_form label:has(input[type=checkbox]:checked):after {
	border-left: 4px solid var(--color_gold);
	border-bottom: 4px solid var(--color_gold);
}
/**********/
/* ボタン */
/**********/
.com_form input[type="submit"], 
.com_form input[type="button"], 
.com_form input[type="reset"] {
	background-color: #bcbcb7;
	border-radius: 0;
	font-family: var(--ff_min);
	font-weight: 400;
}
.com_form input[type="submit"] {
	background-color: #58bbad;
}
/*ドメイン設定*/
.com_form .mobile_attention dt {
	background: #514c3c;
	border-radius: 0;
	font-weight: 400;
}
.com_form .mobile_attention dd {
	font-family: var(--ff_got);
}
/*個人情報*/
.com_form .privacy {
	background: #514c3c;
	border-radius: 0;
	font-weight: 400;
}
.com_form .privacy .open_box {
	font-family: var(--ff_got);
}

/*日付選択*/
.com_form .date_th th,
.com_form .date_th td {
	padding-bottom: 0 !important;
}
.com_form .date_th th .required {
	top: 2.9em !important;
}
.com_form .date_style,
.com_form .date_style + .sub_txt_b {
	width: calc(70% + 60px);
	margin-left: auto;
	margin-right: 0;
}
.com_form .date_style {
	display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
	margin-bottom: 1.5em;
}
.com_form .date_style dt {
	width: 80px;
}
.com_form .date_style dd {
	width: calc(100% - 80px);
}
.com_form .date_style ul {
	display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.com_form .date_style ul li {
	width: 33.3333%;
	display: flex;
    align-items: center;
}
.com_form .date_style ul .valid_box {
	width: calc(100% - 3.0em);
}
.com_form .date_style ul .select_box {
	width: 100%;
}
.com_form .date_style ul .sub_txt_r {
	font-size: 100% !important;
}

.com_form .checkbtn {
	font-weight: 400;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*日付選択*/
.com_form .date_style ul .valid_box {
	width: calc(100% - 2.0em);
}
.com_form .date_style ul .sub_txt_r {
	margin-left: .5em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#form .com_form {
	margin-top: 8vw;
}
/*日付選択*/
.com_form .date_style,
.com_form .date_style + .sub_txt_b {
	width: 100%;
}
.com_form .date_style {
	display: block;
}
.com_form .date_style dt {
	width: 100%;
	margin-bottom: .5em;
}
.com_form .date_style dd {
	width: 100%;
}
.com_form .date_style ul .valid_box {
	width: calc(100% - 1.8em);
}
.com_form .date_style ul .sub_txt_r {
	font-size: 90% !important;
}
/*個人情報*/
.com_form .privacy .open_trigger {
	font-size: 100%;
	letter-spacing: .02em;
}
/**********/
/* ボタン */
/**********/
.com_form input[type="submit"], 
.com_form input[type="button"], 
.com_form input[type="reset"] {
	height: 4.0em;
}
}



/*
---------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}