@charset "utf-8";
/* top css */

.c_purple {
margin-left: 0;
}
.main {
margin-top: 0;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
.index .tmp_st_title .en {
font-size: 400%;
white-space: nowrap;
}
}


/*-------------------------------------------------
KV swiper
-------------------------------------------------*/

.kv_slide {
position: relative;
width: 78.203%;
height: auto;
overflow: hidden;
margin-right: 0;
margin-left: auto;
border-radius: 3rem 0 0 3rem;
}
.kv_slide .swiper .swiper-wrapper {
position: relative;
}
.kv_slide .swiper .swiper-wrapper::after {
content: "";
display: block;
background: #000;
opacity: 0.2;
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.mv01 .swiper-fade .swiper-slide {
-webkit-transition-property: opacity, -webkit-transform !important;
transition-property: opacity, -webkit-transform !important;
transition-property: opacity, transform !important;
transition-property: opacity, transform, -webkit-transform !important;
pointer-events: none;
}
.mv01 .swiper-fade .swiper-slide-active {
pointer-events: auto;
}
.mv01 .slide-media {
width: 100%;
height: auto;
}
.mv01 .slide-media img {
-webkit-transition: 5s 1s ease-out;
transition: 5s 1s ease-out;
width: 100%;
height: auto;
object-fit: contain;
}
.mv01 .swiper-slide[class*=-active] .slide-media img {
-webkit-transition-delay: 0s;
transition-delay: 0s;
-webkit-transform: scale(1.05);
transform: scale(1.05);
}

@-webkit-keyframes mv01-fadeIn {
0% {
-webkit-transform: scale(0.5);
transform: scale(0.5);
opacity: 0;
-webkit-filter: blur(300px);
filter: blur(300px);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
opacity: 1;
-webkit-filter: blur(0);
filter: blur(0);
}
}

@keyframes mv01-fadeIn {
0% {
-webkit-transform: scale(0.5);
transform: scale(0.5);
opacity: 0;
-webkit-filter: blur(300px);
filter: blur(300px);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
opacity: 1;
-webkit-filter: blur(0);
filter: blur(0);
}
}

/*.mv01 .swiper-pagination {
position: absolute;
z-index: 1;
top: 0;
bottom: 0;
left: 3.2rem;
height: -webkit-max-content;
height: -moz-max-content;
height: max-content;
margin: auto;
}*/

/*.mv01 .swiper-pagination {
text-align: right !important;
position: absolute;
right: 30px !important;
}

@media all and (max-width : 767px ){
.mv01 .swiper-pagination {
position: absolute;
z-index: 1;
top: 0;
bottom: 0;
left: 2.0rem;
}
}

.mv01 .swiper-pagination-bullet {
display: block;
width: 3px;
height: 4rem;
cursor: pointer;
-webkit-transition: var(--transition);
transition: var(--transition);
background-color: rgba(255, 255, 255, 0.6);
opacity: 100%;
border-radius: 0%;
}
.mv01 .swiper-pagination-bullet:not(:first-child) {
margin-top: 0.8rem;
}
.mv01 .swiper-pagination-bullet-active {
background-color: #6DBE45;
}*/

.mv01 .swiper-pagination-bullet {
width: 6px;
height: 6px;
display: inline-block;
border-radius: 100%;
background: #fff;
opacity: .5;
margin-right: 10px;
}
.mv01 .swiper-pagination-bullet:last-child {
margin-right: 10px;
}
.mv01 .swiper-pagination-bullet-active {
opacity: 1;
background: #C40A19;
}
.mv01 .swiper-pagination {
position: absolute;
bottom: 10px;
text-align: right;
}
.mv01 .swiper-pagination-bullet:hover {
cursor: pointer;
}

@media all and (max-width : 767px ){
.kv_slide {
width: 100%;
border-radius: 0;
}
.index .tmp_st_title .en {
white-space: nowrap;
}
.index .box_main_st .jp {
margin-top: 5px;
margin-left: 1.5em;
font-size: 1.2rem;
}
.mv01 .swiper-pagination-bullet {
width: 5px;
height: 5px;
}
.mv01 .swiper-pagination {
bottom: 5px;
}
}


/*-------------------------------------------------
コンセプトエリア
-------------------------------------------------*/

.sec_concept {
padding: 50px 0 80px;
color: #fff;
}
.main_copy {
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
font-size: 4.0rem;
letter-spacing: 0.3em;
writing-mode: vertical-rl;
}
.main_copy span {
margin-top: 30px;
}
.sub_copy {
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
font-size: 2.4rem;
letter-spacing: 0.2em;
margin-bottom: 40px;
}
.concept_txt {
font-size: 1.8rem;
font-weight: 500;
letter-spacing: 0.1em;
line-height: 220%;
}
.concept_txtbox {
width: 72.49%;
}
.sec_concept .generic {
display: none;
}
.concept_txtbox_wrap {
display: flex;
justify-content: space-between;
}

@media all and (max-width : 1024px ){
.main_copy {
font-size: 3.6rem;
margin-left: 50px;
}
.sub_copy {
font-size: 2.2rem;
margin-bottom: 30px;
}
.concept_txt {
font-size: 1.6rem;
letter-spacing: 0.1em;
line-height: 200%;
}
.sec_concept .generic {
display: block;
}
}

@media all and (max-width : 820px ){
.main_copy {
font-size: 3.0rem;
margin-left: 20px;
}
.sub_copy {
font-size: 2.0rem;
margin-bottom: 20px;
}
.concept_txt {
font-size: 1.5rem;
line-height: 180%;
}
.sec_concept .generic {
display: none;
}
}

@media all and (max-width : 767px ){
.sec_concept {
padding: 30px 0 35px;
}
.concept_txtbox_wrap {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.main_copy {
font-size: 1.8rem;
letter-spacing: 0.2em;
margin-left: 5px;
margin-bottom: 20px;
writing-mode: horizontal-tb;
}
.sub_copy {
display: none;
}
.concept_txtbox {
width: 95%;
margin: 0 auto;
}
.concept_txt {
font-size: 1.4rem;
line-height: 170%;
}
}


/* スライド文字
-------------------------------------------------- */
#slider {
animation: logoAnimation 1200s linear infinite;
background-image: url("../img/top/slide_title.svg");
background-repeat: repeat-x;
background-size: auto 110px;
width: 100%;
height: 110px;
}

@keyframes logoAnimation {
0% {
background-position: 0 0;
}
100% {
background-position: -30000px 0;
}
}

@media all and (max-width : 767px ){
#slider {
background-size: auto 50px;
width: 100%;
height: 50px;
}
}

/*-------------------------------------------------
ループ画像
-------------------------------------------------*/

.sec_under {
background: #F5F5F2;
padding: 5px 0 0;
}
.loop_slider {
overflow: hidden;
}
.loop_slider_wrapper {
display: flex;
width: max-content; 
}
.loop_slider_imgbox {
display: flex;
animation: infinity-scroll 30s linear infinite both;
}
.loop_slider_imgbox img {
margin-right: 5px; 
width: auto;
height: 300px;
}

@keyframes infinity-scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-100%);
}
}

/*@media all and (min-width : 900px ){
.loop_slider_imgbox img {
height: min(300 / 900 * 100vw, 300px);
}
}

@media all and (min-width : 1200px ){
.loop_slider_imgbox img {
height: max(300 / 1200 * 100vw, 300px);
}
}*/

@media all and (max-width : 1024px ){
.loop_slider_imgbox img {
height: 220px;
}
}

@media all and (max-width : 820px ){
.loop_slider_imgbox img {
height: 180px;
}
}

@media all and (max-width : 767px ){
.sec_under {
background: #F5F5F2;
padding: 3px 0 0;
}
.loop_slider_imgbox img {
margin-right: 3px; 
height: 120px;
}
}


/*-------------------------------------------------
sec_tour
-------------------------------------------------*/

.sec_tour {
padding: 150px 0 200px;
}

@media all and (max-width : 1024px ){
.sec_tour {
padding: 80px 0 120px;
}
}

@media all and (max-width : 767px ){
.sec_tour {
padding: 40px 0 80px;
}
}

.sec_title_jp {
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
font-size: 3.4rem;
color: #555;
letter-spacing: 0.2em;
line-height: 100%;
display: block;
margin-bottom: 10px;
text-align: center;
}
.sec_title_en {
font-family: "Quicksand", sans-serif;
font-weight: 500;
font-size: 1.6rem;
color: #A89A7D;
text-align: center;
margin-bottom: 30px;
}
.sec_read {
font-size: 1.5rem;
line-height: 200%;
margin-bottom: 40px;
}

@media all and (max-width : 1024px ){
.sec_title_jp {
font-size: 2.8rem;
}
.sec_title_en {
font-size: 1.4rem;
margin-bottom: 35px;
}
.sec_read {
font-size: 1.4rem;
line-height: 180%;
}
}

@media all and (max-width : 820px ){
.sec_title_jp {
font-size: 2.2rem;
}
}

@media all and (max-width : 767px ){
.sec_title_jp {
font-size: 1.6rem;
margin-bottom: 5px;
}
.sec_title_en {
font-size: 1.0rem;
margin-bottom: 20px;
}
.sec_read {
font-size: 1.2rem;
line-height: 180%;
margin-bottom: 25px;
}
}

.content_box_wrap {
background-image: url("../img/top/bg-book.png");
background-repeat: no-repeat;
background-position: left center;
background-size: 100% 100%;
padding: 100px 70px 115px;
position: relative;
}
.content_box_wrap .box_m {
padding: 0;
display: flex;
flex-wrap: wrap;
}
.content_box {
width: calc(50% - 60px / 2);
margin-right: 60px;
margin-bottom: 40px;
position: relative;
}
.content_box:nth-child(2n) {
margin-right: 0px;
}

@media all and (max-width : 1024px ){
.content_box {
width: calc(50% - 30px / 2);
margin-right: 30px;
margin-bottom: 30px;
}
}

@media all and (max-width : 767px ){
.content_box_wrap {
display: flex;
flex-direction: column;
background-image: url("../img/top/bg-book-sp.png");
background-repeat: no-repeat;
background-position: left center;
background-size: 100% 100%;
padding: 52px 25px 68px;
}
.content_box {
width: 100%;
margin-right: 0px;
margin-bottom: 20px;
}
}

.content_imgbox {
position: relative;
margin-bottom: 15px;
overflow: hidden;
background: #fff;
border-radius: 10px;
}
.content_imgbox img {
width: 100%;
border-radius: 10px;
transition-duration: 0.7s;	
}
.content_box:hover .content_imgbox img {
transform: scale(1.05);	
transition-duration: 0.7s;	
opacity: 0.8;
}
.content_txt_box dt {
font-family: "Quicksand", sans-serif;
font-weight: 500;
font-size: 1.6rem;
color: #555;
letter-spacing: 0.1em;
line-height: 100%;
margin-bottom: 15px;
}
.content_txt_box dd {
font-size: 2.0rem;
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
letter-spacing: 0.2em;
color: #555;
line-height: 180%;
}

@media all and (max-width : 1024px ){
.content_txt_box dt {
font-size: 1.4rem;
margin-bottom: 10px;
}
.content_txt_box dd {
font-size: 1.6rem;
letter-spacing: 0.15em;
}
}

@media all and (max-width : 767px ){
.content_txt_box dt {
font-size: 1.2rem;
margin-bottom: 5px;
}
.content_txt_box dd {
font-size: 1.4rem;
letter-spacing: 0.1em;
line-height: 140%;
}
}

.new_icon {
width: 55px;
height: auto;
position: absolute;
right: -25px;
top: -25px;
}
.sec_tour .link_btn_box,
.sec_interview .link_btn_box {
margin-top: 20px;
}

@media all and (max-width : 767px ){
.new_icon {
width: 45px;
}
}


/*-------------------------------------------------
sec_interview
-------------------------------------------------*/

.sec_interview {
background-color: #4496B3;
padding: 80px 0 100px;
position: relative;
color: #fff;
margin-bottom: 100px;
}
.sec_interview::before {
content: "";
display: block;
width: 100%;
height: 39px;
position: absolute;
left: 0;
top: -39px;
background: url("../img/top/wave_head.png") repeat-x left top;
}
.sec_interview::after {
content: "";
display: block;
width: 100%;
height: 39px;
position: absolute;
left: 0;
bottom: -39px;
background: url("../img/top/wave_foot.png") repeat-x left bottom;
}
.sec_interview .sec_title_jp {
color: #fff;
}
.sec_interview .sec_title_en {
color: #FFE34D;
}
.sec_interview .box_s {
padding: 0;
}
.sec_interview .content_box_wrap {
background-image: none;
padding: 0;
}
.sec_interview .content_txt_box dt {
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
color: #fff;
}
.sec_interview .content_txt_box dd {
color: #fff;
}

@media all and (max-width : 767px ){
.sec_interview {
padding: 40px 0 50px;
margin-bottom: 40px;
}
.sec_interview::before {
height: 11px;
background-size: 60px 11px;
position: absolute;
top: 0;
width: 100%;
margin-top: -11px;
}
.sec_interview::after {
height: 11px;
background-size: 60px 11px;
position: absolute;
bottom: 0;
width: 100%;
margin-bottom: -11px;
}
}


/*-------------------------------------------------
sec_voice
-------------------------------------------------*/

.sec_voice {
padding: 40px 0 50px;
}
.sec_voice .box_l {
background-color: #F2EBE2;
padding: 80px 0 100px;
border-radius: 15px;
}

@media all and (max-width : 1024px ){
.sec_voice {
padding: 0 0 30px;
}
.sec_voice .box_l {
padding: 70px 0 80px;
}
}

.sec_copy {
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
letter-spacing: 0.2em;
font-size: 2.2rem;
color: #555;
text-align: center;
margin-bottom: 30px;
}
.voice_box_wrap {
display: flex;
flex-wrap: wrap;
padding-top: 20px;
margin-bottom: 30px;
}
.voice_box {
width: calc(50% - 40px / 2);
background: #fff;
border: solid 4px #ED99A3;
border-radius: 10px;
position: relative;
padding: 40px 40px 40px 25px;
display: flex;
justify-content: space-between;
align-items: center;
margin-right: 40px;
margin-bottom: 40px;
}
.voice_box:nth-child(2n) {
margin-right: 0;
}
.voice_img {
width: 120px;
height: auto;
margin-right: 20px;
transition-duration: 0.7s;
}
.voice_img img {
width: 100%;
}
.voice_img:hover {
transform: scale(1.05);
transition-duration: 0.7s;
opacity: .8;
}
.voice_txtbox {
width: 70.35%;
}
.voice_txtbox dt {
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
font-size: 1.6rem;
color: #555;
padding-bottom: 10px;
border-bottom: solid 1px #ddd;
margin-bottom: 15px;
}
.voice_txtbox dd {
font-size: 1.4rem;
line-height: 180%;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
text-overflow: ellipsis;
}
.profile_box {
position: absolute;
top: -12px;
left: -4px;
z-index: 2;
}
.profile_txt {
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
position: relative;
display: block;
padding: 8px 20px;
font-size: 1.3rem;
color: #fff;
background: #ED99A3;
border-radius: 10px 0 0 0;
}
.profile_box::after {
content: "";
position: absolute;
top: 0;
right: -11px;
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 9px 0 0 11px;
border-top-color: transparent;
border-right-color: transparent;
border-bottom-color: transparent;
border-left-color: #000;
}

@media all and (max-width : 820px ){
.sec_copy {
font-size: 1.8rem;
}
.voice_box {
width: calc(50% - 20px / 2);
padding: 30px 20px 20px 20px;
margin-right: 20px;
margin-bottom: 30px;
}
.voice_txtbox dt {
font-size: 1.4rem;
line-height: 140%;
}
.voice_txtbox dd {
font-size: 1.3rem;
line-height: 160%;
}
}

@media all and (max-width : 767px ){
.sec_voice {
padding: 0 0 10px;
}
.sec_voice .box_s {
padding: 0;
}
.sec_voice .box_l {
padding: 40px 0 50px;
border-radius: 0;
}
.voice_box_wrap {
display: flex;
flex-direction: column;
flex-wrap: wrap;
padding-top: 20px;
margin-bottom: 10px;
}
.sec_copy {
font-size: 1.4rem;
margin-bottom: 20px;
}
.voice_box {
width: 100%;
padding: 30px 20px 25px 20px;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
margin-bottom: 30px;
}
.voice_img {
width: 180px;
height: auto;
margin: 0 auto 20px;
}
.voice_txtbox {
width: 100%;
}
.voice_txtbox dt {
font-size: 1.4rem;
padding-bottom: 10px;
margin-bottom: 15px;
}
.voice_txtbox dd {
font-size: 1.3rem;
line-height: 180%;
}
.profile_box {
position: absolute;
top: -12px;
left: -4px;
z-index: 2;
}
.profile_txt {
padding: 6px 15px;
font-size: 1.2rem;
}
.link_btn_box {
padding-top: 0px;
}
}

/*-------------------------------------------------
sec_konoyubi
-------------------------------------------------*/

.sec_konoyubi {
padding: 0 0 200px;
}

@media all and (max-width : 1260px ){
.sec_konoyubi {
padding: 0 0 150px;
}
}

@media all and (max-width : 1024px ){
.sec_konoyubi {
padding: 0 0 100px;
}
}

.konoyubi_box_wrap {
background-image: url("../img/top/konoyubi_bg.svg");
background-repeat: no-repeat;
background-position: left center;
background-size: 100% 100%;
padding: 45px 0px 75px 0px;
position: relative;
display: flex;
justify-content: space-between;
align-items: center;
}
.konoyubi_txtbox {
width: 51%;
color: #fff;
padding-left: 8.98%;
}
.konoyubi_copy {
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
font-size: 2.2rem;
letter-spacing: 0.15em;
margin-bottom: 20px;
}
.konoyubi_txt {
font-size: 1.5rem;
font-weight: 500;
line-height: 200%;
margin-bottom: 30px;
}
.konoyubi_imgbox {
width: 36.33%;
height: auto;
margin-right: 4.41%;
}
.sec_konoyubi .link_btn_box {
display: flex;
justify-content: flex-start;
}
.sec_konoyubi .link_btn {  
font-size: 1.4rem;
padding: 14px 80px;
}
.generic {
display: none;
}

@media all and (max-width : 1260px ){
.konoyubi_txtbox {
width: 55%;
padding-left: 6%;
}
.konoyubi_copy {
font-size: 2.0rem;
letter-spacing: 0.2em;
margin-bottom: 15px;
}
.konoyubi_txt {
font-size: 1.4rem;
line-height: 180%;
margin-bottom: 20px;
}
.sec_konoyubi .generic {
display: block;
}
.sec_konoyubi .link_btn {  
font-size: 1.2rem;
padding: 10px 40px;
}
}

@media all and (max-width : 1024px ){
.konoyubi_copy {
font-size: 1.8rem;
letter-spacing: 0.15em;
margin-bottom: 15px;
}
.konoyubi_txt {
font-size: 1.3rem;
line-height: 180%;
margin-bottom: 15px;
}
}

@media all and (max-width : 900px ){
.konoyubi_imgbox {
display: none;
}
.sec_konoyubi .generic {
display: none;
}
.konoyubi_txtbox {
width: 100%;
padding: 0 4%;
}
.konoyubi_copy {
margin-bottom: 10px;
}
.sec_konoyubi .link_btn {  
font-size: 1.2rem;
padding: 8px 40px;
}
}

@media all and (max-width : 767px ){
.sec_konoyubi {
padding: 0 0 30px;
}
.konoyubi_box_wrap {
background-image: url("../img/top/kokuban_sp.svg");
background-repeat: no-repeat;
background-position: left center;
padding: 50px 0px 75px 0px;
}
.sec_konoyubi .generic {
display: block;
}
.konoyubi_copy {
font-size: 1.6rem;
letter-spacing: 0.11em;
margin-left: 5px;
margin-bottom: 10px;
}
.konoyubi_txt {
font-size: 1.1rem;
line-height: 160%;
padding: 0 10px;
margin-bottom: 15px;
}
.sec_konoyubi .link_btn {  
font-size: 1.1rem;
font-weight: 700;
padding: 6px 30px;
margin-left: 10px;
}
}

.red {
color: red;
}