@charset "utf-8";
/* CSS Document */

body{
	background: url(../img/bg.png);
    background-size: contain;
    height: 100vh;
    margin: 0;
    max-width: 100%;
    overflow-x: hidden!important;
	font-family: 'M PLUS Rounded 1c', sans-serif;
}

body p, body span, body dl, h1, h2, h3, h4, h5, h6{
    transform: rotate(0.03deg);
    -moz-transform: rotate(0.03deg);
    -ms-transform: rotate(0.03deg);
    -o-transform: rotate(0.03deg);
    -webkit-transform: rotate(0.03deg);
}


@font-face {
  font-family: komorebi-gothic;
  src: url("../img/komorebi-gothic.ttf") format("truetype");/*For iOS Android*/
}


/* kokokara */

.kansai {
background-color: #FFFFFF;
padding: 7px 15px;
margin: 0;
font-size: clamp(2px,3vw,14px) !important;
font-weight: 400;
}
	
.hd {
background-color: #FFFFFF;
max-width: 100%;
padding: 0;
display: flex;
justify-content: space-between;
margin: -1px;
}
		
.hd .logo {
padding: 1px 10px 10px 13px;
max-width: 80%;	
	}
	
.head_reseve {
padding: 14px 5px 3px 17px;
text-align: right;
margin-right: 4px;
}

.linebox {
font-size: clamp(2px,2vw,14px) !important;
padding: 3px 0px 0px 2px;
line-height: 1.2;
margin: 0px;
	}

#headerwrap {
    background: url(../img/04086114.webp) no-repeat;
    padding-top: 114px;
    text-align: center;
    background-attachment: relative;
    background-position: center center;
    min-height: 980px;
    width: 100%;
    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

#headerwrap h1 {
    margin-top: 90px;
    padding-bottom: 30px;
	max-width: 120px;
	height: 131px;
	margin: 0 auto;
}
	
#headerwrap p {
    color: #000000;
    font-size: clamp(26px,6vw,69px) !important;
	font-family: 'Shippori Mincho', serif;
    font-weight: 600;
    text-align: center;
    line-height: 1;
    letter-spacing: .2px;
	margin: 2% auto;
}
 
#headerwrap .tet {
    color: #000000;
    font-size: clamp(14px,3vw,40px) !important;
	font-family: komorebi-gothic;
    font-weight: 500;
    text-align: center;
    line-height: 1.4;
    letter-spacing: .3px;
	margin: 0;
}

.bg_d {
background-color: #453430;
height: 70px;
padding: 0px;
text-align: center;
}
	
.obi {
font-size: clamp(2px,3vw,28px) !important;
font-weight: 500;
text-align: center;
line-height: 2.7;
}
	
.i_box {
	margin: 0px auto !important; 
	padding-top: 30px;
	max-width: 260px;
}

.c-title {
margin: 7% 4% 10%;
color: #55514c;
font-size: clamp(14px,3vw,45px) !important;
font-family: komorebi-gothic;
font-weight: 600;
text-align: center;
line-height: 1.4;	
}

.c-title:before {
content: '';
position: absolute;
bottom: -34px;
display: inline-block;
width: 333px;
height: 8px;
text-align: center;
background: url(../img/gh_border_l.png) no-repeat;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
}

.c-title2 {
margin: 10% 05%;
color: #55514c;
font-size: clamp(6px,6vw,65px) !important;
font-family: komorebi-gothic;
 font-weight: 600;
text-align: center;
line-height: 1.4;	
}

.c-title2:before {
content: '';
position: absolute;
bottom: -34px;
display: inline-block;
width: 333px;
height: 8px;
text-align: center;
background: url(../img/gh_border_l.png) no-repeat;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
}

.ore {
color: coral;
}

ul.applicable {
background-color: #549f9b;
padding: 0.5em;
position: relative;
margin-top: 3em;
border: solid 5px #FFFFFF;
border-radius: 10px;
}

.applicable li {
line-height: 1.5;
padding: 0.5em 0 0.5em 1.4em;
border-bottom: dashed 1px white;
list-style-type: none!important;
color: white;
font-size: clamp(6px,4vw,25px) !important;
}

.applicable li:last-of-type {
border-bottom: none;
}

.applicable li:before {
position: absolute;
left : 0.5em; 
content: "\f058";
font-family: "Font Awesome 5 Free";
font-wigth: 400;
color:#FFFFFF;
}

.d-title {
position: relative;
font-weight: 400;
padding: 1rem;
background: #7a4e15;
text-align: center;
color: #FFFFFF;
max-width: 690px;
margin: 0 auto;
font-size: clamp(6px,3.7vw,28px) !important;
}

.d-title:before {
position: absolute;
top: -70%;
left: 88%;
width: 100%;
height: 100%;
content: '';
background: url(../img/qa_ti_icon.png) no-repeat;
}

.offerbox {
max-width: 900px;
margin: 5% auto;
}

.offerbox p {
font-size: clamp(6px,4vw,31px) !important;
text-align: left;
font-family: komorebi-gothic;
line-height: 1.5;
font-weight: 400;
margin-bottom: 20px;
}

.room_p_box {
margin: 2px auto 10px;
}

.p_box {
padding: 3px 10px 1px 3px;
}

.s_box {
padding: 3px 5px 1px 3px;
}

.resolutionbox {
max-width: 900px;
margin: 0 auto;	
}

.resolutionbox h4 {
font-size: clamp(6px,4vw,42px) !important;
text-align: center;
font-family: komorebi-gothic;
line-height: 1.7;
font-weight: 600;
margin-bottom: 20px;
margin-top: 10px;
}

.contactbox {
max-width: 900px;
margin: 0 auto;
text-align: center;	
}

.contactbox img {
padding: 2%;
	
}

.problembox{
list-style-type:none;
padding: 0;
max-width: 900px;
margin: 0 auto;
}

.problembox li{
position: relative;
    color: #fff;
    text-align: center;
    padding: 1.2%;
    margin: 16px 0 10px 0px;
    font-weight: 400;
    font-size: clamp(3px,3.4vw,30px);
    line-height: 2.2;
    background: #549f9b;
    border-radius: 50px;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
}

.problembox li:before{
position: absolute;
left : 1.5em; 
content: "\f071";
font-family: "FontAwesome"; 
font-wigth: 400;
color:#FFDD00;
}

.problembox li:hover{
  background: #0c6e69;
}

/*概要*/
.content-about {
margin: 0 auto;
padding: 4%;
}

.about-info {
margin: 0px auto 0;
text-align: center;
max-width: 700px;
border-top: 1px solid #FFFFFF;

}

.info-area {
border-bottom: 1px solid #FFFFFF;
padding: 15px 0;
pointer-events: none;
}

 .info-area dt {
font-weight: 400;
padding-bottom: 10px
}

.section1 {
background-color: #FFFFFF;
}
	


/* footer固定 */

footer::after {
    content: "";
    background: url(../img/f_img.png) repeat-x;
    /* background-size: contain; */
    background-position: center;
    display: block;
    /* bottom: -45px; */
    /* left: 0; */
    width: 100%;
    height: 110px;
}

.footer-lower {
background: #000000;
color: #ffffff;
}

#back-top a {
  position: fixed;
  bottom: 6%;
  right: 0;
  font-weight: bold;
  padding: 0.7em;
  text-align: center;
  transition: 1s;
  z-index: 1;
}

 #back-top a:hover{ 
    opacity: 0.75;
}

.footer_bg {
 padding-bottom: 1% !important;
 background-color: #324e78 !important;
}

.nav-link {color: #FFF;}
.nav-link:hover {color: #59FCFF;}

.nav-link {
    display: block;
    padding: 28% 1rem 0;
}


@media screen and (max-width: 767.9px) {

.hd .logo {
max-width: 50%;	
	}

.obi {
line-height: 3.8;
}
	
#headerwrap {
background: url(../img/main_sp2.png) no-repeat;
margin-top: -26px;
padding-bottom: 30%;
    padding-top: 104px;
    text-align: center;
    background-attachment: relative;
    background-position: center center;
    min-height: 304px;
    width: 100%;
    -webkit-background-size: 100%;
    -moz-background-size: 100%;
    -o-background-size: 100%;
    background-size: 100%;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

#headerwrap p {
    font-weight: 800;
    text-align: center;
    line-height: 1.7;
    letter-spacing: .1px;
    margin: -17% auto;
}	

#headerwrap h1 {
    margin-top: 6px;
    max-width: 21%;
    margin-bottom: 2%;
}	

#headerwrap .tet {
    font-weight: 500;
    text-align: center;
    line-height: 1.6;
    letter-spacing: .1px;
    margin: 21% auto 0;
}
	
#sp-fixed-menu li a{
   padding:16px;
}

.c-title:before {
bottom: -26px;
width: 130px;
height: 5px;
}

.c-title2:before {
bottom: -17px;
width: 130px;
height: 5px;
}

.d-title:before {
position: absolute;
    top: -39%;
    left: 7%;
    width: 50%;
    height: 100%;
    content: '';
    background: url(../img/s_qa_ti_icon.png) no-repeat;
}
	
}

@media screen and (max-width: 576px) {

.c6 {
padding: 5%;
}

}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 767.9px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}


