/* =================================================================
トップ共通
=================================================================*/
.main {position: relative; z-index: 2;}
.w-bg {background: #f3f2f0;}
.cmn-title {font-size: 38px; color: #000000; font-family: "Josefin Sans", '游ゴシック体', serif; letter-spacing: 0.05em; display: flex; align-items: center; line-height: 1; margin-bottom: 41px;}
.cmn-title:before {content: ""; display: block; width: 16px; height: 24px; background-image: url('../images/top/cmn-title_bg.png'); margin-right: 21px; position: relative; top: -5px;}
.cmn-title .jp {display: block; color: #000000; font-size: 14px; line-height: 1; margin-left: 19px;}
.cmn-title-sub {font-size: 30px; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; font-weight: normal; line-height: 1.7; position: relative; margin-bottom: 78px;}
.cmn-title-sub:after {content: ""; display: block; width: 160px; height: 2px; background: #404040; position: absolute; bottom: -38px;}

.cmn-title.vertical {flex-direction: column; justify-content: center;}
.cmn-title.vertical:before {margin-right: 0; top: 0; margin-bottom: 35px;}
.cmn-title.vertical .jp {margin-left: 0px; margin-top: 32px;}

.button {display: flex; justify-content: center; align-items: center; border: 2px solid #404040; position: relative; font-weight: bold;}
.button:after {content: ""; display: block; width: 23px; height: 7px; background-image: url('../images/common/button_arrow.svg'); position: absolute; right: 30px;}
.button:hover {background: #000; color: #fff; border-color: #000; opacity: 1;}
.button:hover img {filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(16%) hue-rotate(226deg) brightness(103%) contrast(106%);}
.button:hover:after {filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(16%) hue-rotate(226deg) brightness(103%) contrast(106%);}

@media screen and (max-width: 1239px) {
	.cmn-title {font-size: 26px; margin-bottom: 32px;}
	.cmn-title:before {width: 11px; height: 17px; background-size: cover; top: -1px; left: 2px; margin-right: 17px;}
	.cmn-title .jp {font-size: 10px; margin-top: -2px; margin-left: 13px;}
	.cmn-title-sub {font-size: 19px; margin-bottom: 59px;}
	.cmn-title-sub:after {width: 112px; height: 1px; bottom: -31px;}
	.cmn-title.vertical:before {left: 0; margin-bottom: 24px;}
	.cmn-title.vertical .jp {margin-top: 23px;}

	.button:after {right: 17px;}
}

/* =================================================================
メインビジュアル
=================================================================*/
.main-visual {width: 100%; position: relative;}
.main-visual .image img {width: 100%; display: block;}
.main-visual h1 {position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 722px; height: 170px;}

@media screen and (max-width: 1199px) {
	.main-visual h1 {width: 86%; height: 12.904%;}

}

/* =================================================================
About
=================================================================*/
.about {padding-top: 233px;}
.about .inner {display: flex; align-items: flex-start; justify-content: space-between; max-width: 1400px;}
.about .text {padding-top: 17px; padding-left: 150px;}
.about .text p {font-size: 15px; line-height: 2.266666666666667;}
.about ul {display: flex; justify-content: center; margin-top: 140px;}
.about ul li {margin-right: 25px;}
.about ul li:last-child {margin-right: 0;}
.about ul li p {font-size: 15px; text-align: center; margin-top: 30px;}

@media screen and (max-width: 1199px) {
.about {padding-top: 79px;}
.about .inner {flex-direction: column;}
.about .text {order: 2; padding: 52px 30px 0 41px;}
.about .text p {font-size: 12px; line-height: 2.083333333333333;}
.about .image {order: 1; padding-left: 62px;}
.about ul {flex-wrap: wrap; padding: 0 37px; margin-top: 45px;}
.about ul li {margin-right: 12px; width: calc((100% - 24px)/3);}
.about ul li:nth-child(3) {margin-right: 0;}
.about ul li:nth-child(n + 4) {margin-top: 25px;}
.about ul li p {font-size: 11px; margin-top: 15px;}
}

/* =================================================================
Concept
=================================================================*/
.concept {padding-top: 300px; min-height: 1205px;}
.concept .inner {max-width: 1400px; position: relative;}
.concept .inner:after {content: ""; display: block; clear: both;}

.concept .image {width: 474px; position: absolute; width: 100%; left: 0; top: 0;}
.concept .image .img01 {position: absolute; left: 0; top: 0; z-index: 3;}
.concept .image .img02 {position: absolute; left: 302px; top: 542px; z-index: 2;}
.concept .image .img03 {position: absolute; left: 358px; top: 280px; z-index: 1;}
.concept .image .imgsp {display: none;}

.concept .text {padding-top: 10px; position: relative; z-index: 4; position: absolute; left: 787px;}
.concept .text h4 {padding-top: 11px; font-size: 20px; letter-spacing: 0.05em; margin-bottom: 32px; line-height: 1; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; white-space: nowrap;}
.concept .text p {line-height: 2.266666666666667; font-size: 15px;}

@media screen and (max-width: 1239px) {
	.concept {padding: 79px 0px 0; min-height: 729px;}
	.concept .image {width: 100%; position: static;}
	.concept .image .imgsp {display: block;}
	.concept .text  {position: static; padding: 0 30px 0 37px; margin-top: 51px;}
	.concept .text h4 {font-size: 16px; line-height: 1.5625; padding-top: 2px; margin-bottom: 19px;}
	.concept .text p {line-height: 2; font-size: 12px;}
}

/* =================================================================
Menu
=================================================================*/
.top-menu {padding-top: 195px; overflow: hidden;}
.top-menu h2 {margin-bottom: 99px;}
.top-menu .tab-menu {display: flex; justify-content: center; margin-bottom: 72px;}
.top-menu .tab-menu .tab {font-size: 16px; color: #363636; margin-right: 89px; display: inline-block; cursor: pointer; position: relative;}
.top-menu .tab-menu .tab:last-child {margin-right: 0px;}
.top-menu .tab-menu .tab.is-active:after {content: ""; width: 100%; height: 1px; display: inline-block; background: #363636; position: relative; left: 0; right: 0; bottom: 8px; margin: auto;}
.top-menu .tab-contents:first-child {display: block;}
.top-menu .tab-contents {display: none;}
.top-menu .tab-contents .inner{max-width: 1100px; margin: auto; padding: 0 0px;}
.top-menu .tab-contents h3 {font-size: 22px; padding-bottom: 20px; margin-bottom: 43px; border-bottom: 2px solid #404040;}
.top-menu .tab-contents h4 {font-size: 22px; display: flex; align-items: center; margin-bottom: 19px; letter-spacing: 0.05em;}
.top-menu .tab-contents h4:before {content: ""; display: block; width: 3px; height: 18px; background: #d5a4a9; margin-right: 17px;}
.top-menu .tab-contents .box {background: #fff; padding: 45px 60px; display: flex; justify-content: space-between;}
.top-menu .tab-contents .box + .box {margin-top: 20px;}
.top-menu .tab-contents p {font-size: 15px; line-height: 1.866666666666667; letter-spacing: 0.05em;}
.top-menu .tab-contents ul {margin-top: 32px; font-size: 17px; line-height: 1.823529411764706;}
.top-menu .tab-contents ul li {letter-spacing: 0.05em;}
.top-menu .tab-contents .infoarea {padding: 10px 34px 10px 0;}
.top-menu .tab-contents .pricearea {border-left: 1px #cccccc solid; min-height: 200px; width: 266px; padding-left: 59px; display: flex; align-items: center; flex-shrink: 0;}
.top-menu .tab-contents .pricearea p {font-size: 15px; padding: 10px 0;}
.top-menu .tab-contents .pricearea p span {display: block;}
.top-menu .tab-contents .pricearea .underline {text-decoration: line-through; margin-bottom: 16px;}
.top-menu .tab-contents .pricearea .title {display: flex; justify-content: center; align-items: center; color: #fff; background: #d5a4a9; width: 140px; height: 29px; margin-bottom: 7px;}
.top-menu .tab-contents .pricearea .title.no-margin {margin-bottom: 0;}
.top-menu .tab-contents .pricearea .off {display: flex; justify-content: center; align-items: center; border: 1px solid #404040; width: 89px; height: 29px; margin-bottom: 7px;}
.top-menu .tab-contents .pricearea .price {font-size: 20px;}


@media screen and (max-width: 1239px) {
	.top-menu {padding-top: 64px;}
	.top-menu h2 {margin-bottom: 38px;}
	.top-menu .tab-menu {flex-wrap: wrap; margin: 0 auto 16px; width: 375px; }
	.top-menu .tab-menu .tab {font-size: 13px; margin: 0; padding: 0 22px; height: 24px;}
	.top-menu .tab-menu li {text-align: center;}
	.top-menu .tab-menu li:nth-child(4) {max-width: 50%; width: auto; margin-top: 20px;}
	.top-menu .tab-menu li:nth-child(5) {max-width: 50%; width: auto; margin-top: 20px;}

	.top-menu .tab-contents .inner{flex-direction: column; padding: 17px 37px 0;}
	.top-menu .tab-contents h4 {font-size: 15px; margin-bottom: 12px; line-height: 1.5;}
	.top-menu .tab-contents h4:before {width: 2px; height: 13px; margin-right: 13px;}
	.top-menu .tab-contents .box {flex-direction: column; padding: 20px 31px 30px;}
	.top-menu .tab-contents .box + .box {margin-top: 14px;}
	.top-menu .tab-contents h3 {width: 100%; font-size: 15px; margin-bottom: 31px; padding-bottom: 11px;}
	.top-menu .tab-contents p {font-size: 11px;}
	.top-menu .tab-contents ul {font-size: 12px; margin-top: 37px;}
	.top-menu .tab-contents .infoarea {padding: 10px 0 15px;}
	.top-menu .tab-contents .pricearea {border-left: 0; border-top: 1px #cccccc solid; height: auto; width: 100%; padding-left: 0; min-height: auto;}
	.top-menu .tab-contents .pricearea p {font-size: 11px; padding-top: 21px;}
	.top-menu .tab-contents .pricearea .cover {display: flex; align-items: center; flex-wrap: wrap;}
	.top-menu .tab-contents .pricearea .cover + .cover {margin-top: 10px;}
	.top-menu .tab-contents .pricearea .underline {margin-bottom: 0; margin-left: 1em;}
	.top-menu .tab-contents .pricearea .title {font-size: 10px; width: 98px; height: 20px; margin-right: 9px;}
	.top-menu .tab-contents .pricearea .off {font-size: 10px; width: 98px; height: 20px; margin-right: 9px; width: 68px;}
	.top-menu .tab-contents .pricearea .price {font-size: 14px;}
}

/* =================================================================
Gallery
=================================================================*/
.gallery {overflow: hidden; min-height: 959px; padding-top: 214px;}
.gallery .wrap {max-width: 1100px; position: relative; margin: auto; overflow: visible;}
.gallery .inner {max-width: 680px; margin: 0;}
.gallery h2 {margin-bottom: 74px;}
.gallery .swiper {width: 100%; height: auto; margin: auto; overflow: visible;}
.gallery .swiper-horizontal > .swiper-scrollbar,
.gallery .swiper-scrollbar.swiper-scrollbar-horizontal {width: 287px !important; height: 3px; right: -470px; left: auto; bottom: -40px;}
.swiper-scrollbar-drag {background: #363636;}

.gallery .swiper-button-prev {top: var(--swiper-navigation-top-offset, 61%); left: var(--swiper-navigation-sides-offset, -57px);}
.gallery .swiper-button-prev:after {content: ""; display: block; width: 11px; height: 19px; background-image: url('../images/top/gallery-arrow-left.svg');}
.gallery .swiper-button-next {top: var(--swiper-navigation-top-offset, 61%); right: var(--swiper-navigation-sides-offset, -57px)}
.gallery .swiper-button-next:after {content: ""; display: block; width: 11px; height: 19px; background-image: url('../images/top/gallery-arrow-right.svg');}


@media screen and (max-width: 1239px) {
	.gallery {min-height: 343px; padding-top: 71px;}
	.gallery h2 {margin-bottom: 49px;}
	.gallery .wrap {padding-left: 37px; height: 198px;}
	.gallery .inner {max-width: 274px;}
	.gallery .swiper-horizontal > .swiper-scrollbar,
	.gallery .swiper-scrollbar.swiper-scrollbar-horizontal {width: 166px !important; height: 4px; right: -30px; bottom: -29px;}
	.gallery .swiper-button-prev {top: var(--swiper-navigation-top-offset, 44%); left: var(--swiper-navigation-sides-offset, 13px);}
	.gallery .swiper-button-next {top: var(--swiper-navigation-top-offset, 44%); right: var(--swiper-navigation-sides-offset, 13px)}

}

/* =================================================================
Information
=================================================================*/
.information {padding-bottom: 240px;}
.information .inner {max-width: 1100px;}
.information h2 {margin-bottom: 53px;}
.information ul {padding-top: 9px; width: 100%; max-width: 100%; padding-bottom: 40px; border-bottom: 1px solid #d8d3cf;}
.information li {display: flex; align-items: flex-start; padding-top: 44px; padding-left: 27px; border-top: 1px solid #d8d3cf; letter-spacing: 0.05em;}
.information li + li {margin-top: 41px;}
.information h3 {font-size: 14px; flex-shrink: 0; padding-right: 45px;}
.information p {font-size: 14px;}

@media screen and (max-width: 1239px) {
	.information {padding: 70px 37px 104px;}
	.information .inner {flex-direction: column;}
	.information h2 {margin-right: 0; margin-bottom: 13px;}
	.information ul {padding-top: 35px; padding-bottom: 24px;}
	.information li {flex-direction: column; padding-top: 23px; padding-bottom: 1px; padding-left: 0;}
	.information li + li {margin-top: 17px;}
	.information h3 {font-size: 12px; margin-bottom: 9px;}
	.information p {font-size: 12px; line-height: 1.75;}
	
}


/* =================================================================
Machine
=================================================================*/
.machine {height: 1027px; padding-top: 102px; position: relative; background: #f3f2f0;}
.machine:before {content: ""; display: block; width: 100%; height: 519px; background: #ede3e1; position: absolute; top: 0;}
.machine .inner {max-width: 1100px;}
.machine h2 {margin-bottom: 97px;}
.machine .name {padding-top: 29px; display: flex; align-items: center; font-size: 17px; margin-bottom: 29px; letter-spacing: 0.05em;}
.machine .name strong {font-size: 16px;}
.machine .name img {display: block; flex-shrink: 0; margin-right: 22px;}
.machine .name span {display: block; margin-top: 5px;}
.machine  p {font-size: 14px; line-height: 1.857142857142857; letter-spacing: 0.05em;}

.machine .swiper-button-prev,
.machine .swiper-button-next {height: 19px; width: 11px; top: var(--swiper-navigation-top-offset, 53.7%)}
.machine .swiper-button-prev:after,
.machine .swiper-button-next:after { background-repeat: no-repeat; background-size: contain; content: ""; height: 19px; margin: auto; width: 11px;}
.machine .swiper-button-prev:after {background-image: url('../images/top/gallery-arrow-left.svg');}
.machine .swiper-button-next:after {background-image: url('../images/top/gallery-arrow-right.svg');}
.machine .swiper-button-next, 
.machine .swiper-rtl .swiper-button-prev2 {right: var(--swiper-navigation-sides-offset, -51px); left: auto;}
.machine .swiper-button-prev, 
.machine .swiper-rtl .swiper-button-next {left: var(--swiper-navigation-sides-offset, -51px); right: auto;}

.machine .swiper {width: 100%; height: auto; margin: auto; overflow: hidden;}
.machine .swiper-horizontal > .swiper-scrollbar,
.machine .swiper-scrollbar.swiper-scrollbar-horizontal {width: 287px !important; height: 3px; right: -50px; left: auto; bottom: -19px;}
.machine .swiper-scrollbar {background: #fff;}

@media screen and (max-width: 1239px) {
	.machine {height: auto; padding-top: 72px; padding-bottom: 114px;}
	.machine:before {height: 348px;}
	.machine h2 {margin-bottom: 48px;}
	.machine .name {padding-top: 19px; font-size: 12px; margin-bottom: 14px;}
	.machine .name strong {font-size: 14px;}
	.machine .name h3 {font-size: 12px;}
	.machine .name img {width: 40px; height: 40px; margin-right: 15px;}
	.machine .swiper {padding: 0 50px;}
	.machine .swiper .machine-image {width: 100%;}
	.machine .swiper-button-next, 
	.machine .swiper-rtl .swiper-button-prev {right: var(--swiper-navigation-sides-offset, 25px); left: auto;}
	.machine .swiper-button-prev, 
	.machine .swiper-rtl .swiper-button-next {left: var(--swiper-navigation-sides-offset, 25px); right: auto;}
	.machine .swiper-button-prev,
	.machine .swiper-button-next {top: var(--swiper-navigation-top-offset, 55%);}
	.machine .swiper-button-prev {left: var(--swiper-navigation-sides-offset, 21px);}
	.machine .swiper-button-next {right: var(--swiper-navigation-sides-offset, 21px);}
	.machine  p {font-size: 11px; line-height: 1.818181818181818;}
	.machine .swiper-scrollbar {display: none;}
}


/* =================================================================
message
=================================================================*/
.message {min-height: 600px; padding-top: 144px;}
.message h2 {text-align: center; color: #fff; font-size: 24px; line-height: 1; margin-bottom: 39px; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;}
.message p {text-align: center; color: #fff; font-size: 16px; line-height: 2.12;}
.scenery {position: fixed; left: 0; right: 0; bottom: 0; min-width: 100%; min-height: 100%; width: 100%; height: auto; z-index: 1; display: block; margin: auto;}
.scenery img {width: 100%; height: 100vh; object-fit: cover;}

@media screen and (max-width: 1239px) {
	.message {min-height: 451px; padding-top: 66px;}
	.message h2 {font-size: 17px; margin-bottom: 25px;}
	.message p {font-size: 12px; line-height: 2;}
}

/* =================================================================
Instagram
=================================================================*/
.top-instagram {padding-top: 204px; background-image: url('../images/top/top-instagram_bg.jpg'); background-repeat: no-repeat; background-position: right top;}
.top-instagram .inner {max-width: 1100px;}
.top-instagram h2 {margin-bottom: 41px; font-size: 20px; font-family: "Josefin Sans", '游ゴシック体', serif;}
.top-instagram h2 a {display: flex; align-items: end; letter-spacing: 0.05em;}
.top-instagram h2 img {margin-right: 20px;}
.top-instagram ul {display: flex; flex-wrap: wrap;}
.top-instagram ul li {width: calc((100% - 20px * 3)/4); margin-right: 20px;}
.top-instagram ul li:nth-child(4n) {margin-right: 0;}
.top-instagram ul li:nth-child(n + 5) {margin-top: 20px;}
.top-instagram ul li img {display: block; width: 100%;}

@media screen and (max-width: 1239px) {
	.top-instagram {padding-top: 97px; background-image: url('../images/top/top-instagram_bg_sp.jpg'); background-size: 84%;}
	.top-instagram .inner {padding: 0 37px;}
	.top-instagram h2 {font-size: 14px; margin-bottom: 28px;}
	.top-instagram h2 img {width: 17px; margin-right: 11px;}
	.top-instagram ul li {width: calc((100% - 12px)/2); margin-right: 12px;}
	.top-instagram ul li:nth-child(2n) {margin-right: 0;}
	.top-instagram ul li:nth-child(n + 5) {margin-top: 13px;}
	.top-instagram ul li:nth-child(n + 3) {margin-top: 13px;}
}

/* =================================================================
Access
=================================================================*/
.access {padding: 216px 0 0;}
.access h2 {margin: 0 auto 64px; max-width: 1100px;}
.access .content {padding-bottom: 71px; position: relative; height: 1060px;}
.access .content .image {position: absolute; z-index: 1; top: 72px;}
.access .content .image02 {position: absolute; z-index: 1; top: 635px; right: 150px;}
.access .text {background: #d5a4a9; color: #fff; position: absolute; right: 100px; top: 0; width: 710px; height: 453px; padding-top: 108px; padding-left: 327px;}
.access .text h3 {margin-bottom: 34px; font-size: 24px; font-family: "Josefin Sans", '游ゴシック体', serif; letter-spacing: 0.05em; position: relative; z-index: 2;}
.access .text h3 span {display: block; font-size: 12px; margin-top: 16px; letter-spacing: 0.05em;}
.access .text p {font-size: 14px; line-height: 1.857142857142857; letter-spacing: 0.05em; position: relative; z-index: 2;}
.access ul {margin-top: 22px; display: flex; align-items: center; padding-left: 4px; position: relative; z-index: 2;}
.access ul li + li {margin-left: 16px;}
.access ul img {max-width: 22px;}

@media screen and (max-width: 1239px) {
	.access {padding: 68px 0 0;}
	.access h2 {margin: 0 auto 48px;}
	.access .content {padding: 0; height: auto;}
	.access .content .image {margin: 0 auto 0px; position: static; padding-right: 74px;}
	.access .text{position: static; width: 80%; height: 327px; padding: 86px 0 0 45px; margin-top: 152px;}
	.access .text h3 {font-size: 17px; margin-bottom: 21px;}
	.access .text h3 span {font-size: 10px; margin-top: 10px;}
	.access .text p {font-size: 12px; line-height: 1.666666666666667;}
	.access ul {padding-left: 0;}
	.access ul img {max-width: 16px;}
	.access ul li + li {margin-left: 14px;}
	.access .content .image02 {width: 260px; height: 165px; top: 224px; right: 0;}
	.access iframe {height: 200px; margin-top: 51px;}
}

/* =================================================================
Recruit
=================================================================*/
.recruit {background: #ede3e1; padding: 100px 0 120px; text-align: center;}
.recruit h2 {margin-bottom: 73px;}
.recruit h3 {font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; font-size: 24px; margin-bottom: 30px; letter-spacing: 0.05em;}
.recruit p {font-size: 15px; color: #404040; line-height: 2.266666666666667;}
.recruit ul {margin-top: 38px; display: flex; justify-content: center;}
.recruit li {display: flex; justify-content: center; align-items: center; width: 238px; height: 53px; background: #fff; border-radius: 26px; margin: 0 10px;}
.recruit .button {width: 420px; height: 74px; margin: 80px auto 0;}
.recruit .button img {width: 28px; height: 27px; margin-right: 18px;}

@media screen and (max-width: 1239px) {
	.recruit {padding: 69px 0 63px;}
	.recruit .button {width: 315px;}
	.recruit h2 {margin-bottom: 53px;}

	.recruit h3 {font-size: 16px; margin-bottom: 20px;}
	.recruit p {font-size: 12px; line-height: 1.983333333333333;}
	.recruit ul {flex-direction: column; align-items: center; margin-top: 29px;}
	.recruit li {font-size: 15px; width: 200px; height: 45px; margin: 0;}
	.recruit li + li {margin-top: 18px;}

	.recruit .button {width: 315px; height: 59px; margin: 50px auto 0; font-size: 14px;}
	.recruit .button img {width: 23px; height: auto; margin-right: 10px;}
}

/* =================================================================
Faq
=================================================================*/
.faq {padding: 120px 0 150px; background: #f3f2f0;}
.faq h2 {margin-bottom: 97px;}
.faq .box {padding-top: 44px; padding-left: 15px; padding-right: 12px; border-top: 1px solid #d8d3cf; max-width: 1100px; margin: auto;}
.faq .box + .box {margin-top: 40px;}
.faq .box:last-child {border-bottom: 1px solid #d8d3cf; padding-bottom: 50px;}
.faq h3 {display: flex; align-items: flex-start; font-weight: bold; line-height: 1.625; font-size: 17px; letter-spacing: 0.05em; font-weight: normal;}
.faq h3:before {content: "Q."; font-family: "Josefin Sans", '游ゴシック体', serif; flex-shrink: 0; font-size: 20px; margin-right: 20px; font-weight: normal; position: relative; top: -1px;}
.faq .answer {display: flex; align-items: flex-start; margin-top: 16px; line-height: 2; font-size: 14px; letter-spacing: 0.05em;}
.faq .answer:before {content: "A."; font-family: "Josefin Sans", '游ゴシック体', serif; flex-shrink: 0; font-size: 20px; margin-right: 23px; position: relative; top: -4px; color: #ca8289;}

@media screen and (max-width: 1239px) {
	.faq {padding: 59px 37px 70px;}
	.faq h2 {margin-bottom: 55px;}
	.faq .box {padding: 32px 0 12px 12px;}
	.faq .box + .box {margin-top: 16px;}
	.faq h3 {font-size: 12px; letter-spacing: 0.04em; margin-bottom: 1em;}
	.faq h3:before {font-size: 13px; margin-right: 10px;}
	.faq .answer {font-size: 12px; margin-top: 1px; line-height: 1.818181818181818;}
	.faq .answer:before {font-size: 12px; margin-right: 12px; top: 0;}
}

/* =================================================================
Contact
=================================================================*/
.contact {padding: 102px 0 128px; background: #eceae7;}
.contact h2 {margin-bottom: 76px;}
.contact a {display: flex; justify-content: center; align-items: center; font-size: 18px; letter-spacing: 0.2em;}
.contact ul {display: flex; justify-content: center;}
.contact ul a {width: 420px; height: 74px;}
.contact ul li + li {margin-left: 39px;}
.contact .bottom {margin-top: 109px; width: 100%; display: flex; justify-content: flex-start; align-items: flex-start;}
.contact .bottom h3 {font-size: 22px; display: flex; align-items: center; letter-spacing: 0.05em;}
.contact .bottom h3 span {font-size: 18px; display: flex; justify-content: center; align-items: center; border: 1px solid #404040; width: 80px; height: 34px; margin-right: 18px;}
.contact .bottom p {font-size: 14px; margin-top: 29px; line-height: 1.857142857142857; letter-spacing: 0.05em;}
.contact .bottom .text {padding-left: 70px; padding-top: 45px;}
.contact .button {width: 420px; height: 74px; font-size: 16px;}

.contact .tel {display: none;}
.contact .button.small {width: 280px; height: 54px; font-size: 16px; margin-top: 30px;}
.contact .button.small:after {right: 24px;}

@media screen and (max-width: 1239px) {
	.contact {padding: 72px 0 80px;}
	.contact h2 {margin-bottom: 46px;}
	.contact ul {flex-direction: column; align-items: center;}
	.contact ul a {width: 100%; height: 74px;}
	.contact ul li + li {margin-left: 0; margin-top: 24px;}
	.contact .bottom {flex-direction: column; margin: 48px auto 0;}
	.contact .bottom img { width: 300px; margin: auto}
	.contact .bottom h3 {font-size: 15px; flex-direction: column;}
	.contact .bottom h3 span {font-size: 12px; width: 56px; height: 24px; margin: 0 0 10px;}
	.contact .bottom .text {padding: 31px 0 0;}
	.contact .bottom p {font-size: 12px; margin-top: 18px; line-height: 2; padding: 0 45px;}
	.contact .button {width: 315px; height: 59px; font-size: 14px;}
	.contact .button.small {margin: 30px auto; width: 315px; height: 59px; font-size: 14px;}
}
