@charset "UTF-8";
img {width: 100%}

header {
    z-index: 999;
    background: #ffffff9d;
}

main {
    padding-top: 0;
}

.orange {
    font-size: inherit;
    color: #ee7433;
}
.green {
    font-size: inherit;
    color: #6bb82d;
}

figure {position: relative;}

.intxt {
    display: flex;
    justify-content: center;
    text-align: center;
    letter-spacing: .1rem;
    font-size: min(3.5vw,1.1rem);
    font-weight: 400;
    line-height: 2;
}

.sec03 figure figcaption {
	bottom: 3.5%;
}

.sec01,.sec02,.sec03 {
	max-width: 1100px;
	margin: 0 auto;
}
.sec03{margin: 0 auto 4%;}


h3 {
    font-size: min(4.5vw,1.8rem);
    color: #666;
    margin: 3% auto 3%;
    text-align: center;
    letter-spacing: .2rem;
    font-weight: 600;
}

h3 span {font-size: 200%;}

.section02 h3 {
    text-align: left;
    margin: 0 auto -2% 1%;
    line-height: 1.5;
}

.h4_sec {
    margin: 3% auto;
    width: 100%;
    background: #c1d8b2;
}

.section02.h4_sec {background: #fcd2b1;}
.section03.h4_sec {background: #c7ecf9;}

h4 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 96%;
    max-width: 1000px;
    padding: .5%;
    font-size: min(4.3vw,1.8rem);
    color: #346614;
    margin: auto;
    letter-spacing: .2rem;
    font-weight: 600;
}

.section02 h4 {color: #e86e00;}
.section03 h4 {color: #119abf;}

h4 span {
	color: #fff;
	padding-right: 2%;
	font-size: 140%;
}

h5 {
    font-size: min(5vw,2.2rem);
    color: #bf5f1f;
    font-weight: 400;
    padding: 0.5rem;
    margin: 4% auto 3%;
    line-height: 1.2;
    text-align: center;
    letter-spacing: .2rem;
}

.sec04 h5, .sec05 h5, .sec06 h5 {
    font-size: min(3.5vw,1rem);
    text-align: center;
    padding-bottom: .5rem;
}

.sec02 h5 {
	border-top: 1px solid #bf5f1f;
	border-bottom: 1px solid #bf5f1f;
}

.sec03 h5 {
	border-top: 1px solid #6d71bc;
	border-bottom: 1px solid #6d71bc;
	color: #6d71bc;
}

@media screen and (max-width: 768px) {
h4 {
    flex-wrap: wrap;
    justify-content: center;
}	
h5 {
    line-height: 1.5;
    letter-spacing: .1rem;
}
	figure figcaption {
    bottom: 5%;
}
}
h6 {
    width: 100%;
    margin: 0 0 .3rem auto;
    padding: 0;
    font-size: min(3.5vw,.9rem);
    font-weight: 700;
}

@media screen and (max-width: 768px) {
h3 {
    margin: 2% auto 5%;
    text-align: center;
    line-height: 1.5;
}
.section02 h3 {
    margin: 2rem auto 0;
}	
}

.room2 h3 {letter-spacing: 0.3em !important;}

.col2,.col3,.col4,.col5 {justify-content: space-between;}
.col5 {
    display: flex;
    flex-wrap: wrap;
}
.col2 li {width: 48.5%}
.col3 li {width: 32.5%}
.col4 li {width: 23%}
.col5 li {width: 17.5%}
.col2 li > ul > li{width: 47.5%}

.w_100 {
    width: 100%!important;
	max-width: 1000px;
    margin: 1% auto 3%;
}

.w_90 {
    width: 100%!important;
	max-width: 900px;
    margin: 1% auto 3%;
}

.w_80 {
    width: 100%!important;
	max-width: 800px;
    margin: 1% auto 3%;
}

.w_70 {
    width: 100%!important;
	max-width: 700px;
    margin: 1% auto 3%;
}

@media screen and (max-width: 768px) {
.w_100,.w_90,.w_80,.w_70 {width: 96%!important;}
.w_80 {
    margin: 1% auto 6%;
}	
}

.flame01 {
	position: relative;
    padding: 10px;
	max-width: 530px;
    border: 3px solid #c1c1c1;
}

.img_inttl {
    position: absolute;
    font-size: min(2vw,1.1rem);
    right: 0;
    left: 64%;
    top: 39%;
    font-weight: 400;
    text-align: justify;
    letter-spacing: .1rem;
    line-height: min(3.5vw,170%);
}
figure figcaption {
    font-size: 11px;
}

.cap01 {
	text-align: right;
}

.flame01 .img_inttl {
    left: 3%;
    top: 45%;
    bottom: auto;
}

.t_l {text-align: left!important;}

.copy01 {
	display: flex;
	justify-content: center;
	text-align: center!important;
	margin: 0 auto 4%;
    font-size: min(3.5vw,1.1rem);
    right: 0;
    left: 65%;
    top: 36%;
    font-weight: 400;
    text-align: justify;
    letter-spacing: .1rem;
    line-height: min(3.5vw,1.5);
}


.txt_ss {padding: 0 .5rem .5rem}

.imgcap {
    position: absolute;
    bottom: 1%;
    right: .5%;
    color: #fff;
}

.ac_t {
    margin: -1% auto 0% 4%;
    font-size: min(2.5vw,90%);
}

@media screen and (max-width: 768px) {
.col2, .col3, .col4 {justify-content: space-between; padding: 0;}
.col4 li {
    margin-bottom: 1rem!important;
    width: 47%;
    margin: 0 auto;
}  
.col5 {justify-content: center;}    
.col2 li {width: 100%; margin-bottom: 1.5rem;}
.col3 li {width: 100%; margin-bottom: 1.5rem;}
.col5 li {width: 32%; padding: 0 10px;}

.flame01 {
    padding: 29px;
    width: 92%;
    margin: 0 auto;
}
.flame01 .img_inttl {
    left: 13%;
    top: 23.8%;
}	
.sec03 figure figcaption {
    bottom: -8%;
}
.img_inttl {
    position: relative;
    font-size: min(3.5vw,1.1rem);
    right: 0;
    left: 0;
    top: 0;
    font-weight: 400;
    text-align: left;
    line-height: 5vw;
    margin-top: 4%;
}	
.cap01 {
    text-align: left;
    line-height: 1.2;
}
.ac_t {
    margin: -1% auto -5% 1%;
}
.imgcap {
    bottom: 5%;
}	
}

@media screen and (max-width: 480px) {
.col5 li {width: 48%;}
}
.pickup01 {
    width: 100%!important;
    margin: 0!important;
}
.thum_mv {padding-right: 18px}
@media screen and (max-width: 768px) {
.thum_mv {padding-right: 0}
}

.sec02 {margin: 0 auto!important;}

@media screen and (max-width: 768px) {
.sec01, .sec02 {
    padding: 0 0 2%;
}
.copy01 {
    padding: 4% 0;
}
	
}

@media screen and (max-width: 480px) {
.col4 {
    padding-left: 0;
    padding-right: 0;
}    
}

.imgbox01 {
	position: relative;
}

.imgbox01 figure:last-child {
    position: absolute;
    width: 35%;
    top: 0%;
    right: 0%;
}

/*　ページ内リンクタブ　
------------------------------*/

.tab {
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    margin: 3vw auto 4vw;
}

.tabcontents {
    margin-bottom: 4rem;
    width: 100%;
    margin: 0 auto 3%;
}

.linkbtn {
    width: 96%;
    max-width: 850px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 3% auto 2%;
    /* border-bottom: 5px solid #ebebeb; */
}

.linkbtn li {
    position: relative;
    width: 27%;
    margin: 0 1rem;
    padding: 0 0 1%;
    transform: scale(1);
    transition: .3s all;
}

.linkbtn li:hover {transform: scale(1.1);opacity: 1!important;}

.linkbtn li.active {transform: scale(1.1);}

.linkbtn li.active::after {
    content: "";
    position: absolute;
    display: block;
    width: 9%;
    height: 90%;
    bottom: 16px;
    left: 0;
    right: auto;
    margin: auto;
}

.linkbtn li.active {pointer-events: none;}


@media screen and (max-width: 768px) {
.tab {
    flex-wrap: wrap;
    margin: 9% auto 6%;
    justify-content: center;
}
.tablist {
    width: 100%;
    margin-bottom: 2rem;
    max-width: 500px;
}
.tabcontents {margin-bottom: 1rem;}
.linkbtn li.active::after {
    bottom: 0px;
}
.linkbtn li {
    width: 40%;
    margin: 0 .5rem 3%;
}	
}

.cap {font-size: 11px;}