@charset "utf-8";

html {
    background: #fff;
}

body {
    font-size: 15px;
    color: #363636;
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ','Meiryo',Verdana,'Osaka','ＭＳ Ｐゴシック',sans-serif;
}

.cn-mp {
    width: 100%;
    max-width: 1000px;
    height: auto;
    padding: 0 2%;
    margin: 0 auto;
}
p.text {
  line-height: 1.4;
  margin-bottom: 1em;
}
img {
    width: 100%;
    height: auto;
}
/*----- float解除 -----*/
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.clearfix {
  display: inline-table;
}
/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}
/*----- 各デバイス 表示&非表示 -----*/
.sp { display: none;}
.pc { display: block;}
/*----- 文字リンク設定 -----*/
a {/*リンクされた文字*/
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: #383838;
  font-style: normal;
  text-decoration: none;
}
a:link {/*未訪問のリンク*/
  color: #383838;
  font-style: normal;
  text-decoration: none;
}
a:visited {/*訪問後のリンク*/
  color: #383838;
  text-decoration: none;
}
a:hover {/*マウスをのせたとき*/
  color: #383838;
  font-style: normal;
  text-decoration: underline;
}
a:active {/*クリック中*/
  text-decoration: none;
}
/*----- リンク設定 -----*/
.fade:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  transition: 0.5s;
}

/*===== header =====*/
header {
}
header h1 {
    background-color: #ffeecb;
}
header h1 span {
    display: block;
    font-size: 12px;
    width: 100%;
    max-width: 1180px;
    height: auto;
    padding: 3px 2%;
    margin: 0 auto;
}
header .hd-box {
    width: 100%;
    max-width: 1180px;
    height: auto;
    padding: 15px 2%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
header .hd-box .logo {
    width: 25%;
}
header .hd-box .tel {
    width: 26%;
}

/*===== visual =====*/
#visual ul li {
  line-height: 0;
}

/*===== #content =====*/
#content {
}

/*----- #main -----*/
#main {
    padding-top: 60px;
}

/*--------------------
 #front
----------------------*/
#front {
    padding-bottom: 60px;
}
#front .front-box {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}
#front .front-box .img01 {
    width: 35%;
}
#front .front-box .img02 {
    width: 65%;
}
#front .movie {
    width: 100%;
    aspect-ratio: 16 / 9;
    max-width: 792px;
    margin: 0 auto;
}
#front .movie iframe {
    width: 100%;
    height: 100%;
}

/*--------------------
 #sejyutu
----------------------*/
#sejyutu {
    padding-bottom: 60px;
}
#sejyutu .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #d1d1d1;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
#sejyutu .box .img {
    width: 35%;
}
#sejyutu .box .text-box {
    width: 62%;
}
#sejyutu .box .text-box h2 {
    line-height: 1.4;
    color: #de5f0e;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
}
#sejyutu .box .text-box .text {
}

/*--------------------
 #kchkm
----------------------*/
#kchkm {
    width: 100%;
    max-width: 700px;
    padding-bottom: 60px;
    margin: 0 auto;
}
#kchkm .kchkm-box {
  background: url(../img/lp/khkm-bg.jpg) repeat left top;
    padding: 2%;
    border-radius: 10px;
}
#kchkm .kchkm-box .kchkm-inner {
  background-color: #fff;
  padding: 3% 5%;
  margin: 16px 0;
  height: 300px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap {
  margin: 22px 0;
  border-bottom: dashed 1px #3c3c3c;
  position: relative;
  padding-bottom: 20px;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap:last-child {
  border-bottom: none;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap .kchkm-info {
  margin-bottom: 8px;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap .kchkm-content .kchkm-star {
  color: #fc3;
  display: inline-block;
  margin-right: 0.5em;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap .kchkm-content .kchkm-name {
  font-weight: bold;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap .hide {
  display: none;
  margin-bottom: 40px;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap .show:before {
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0;
  content: "";
  width: 100%;
  height: 70px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap button.kchkm-btn {
  position: absolute;
  height: 40px;
  width: 150px;
  margin: 20px auto;
  background-color: #414141;
  color: #fff;
  padding: 5px;
  border: none;
  border-radius: 5px;
  outline: 0;
  right: 0;
  left: 0;
  bottom: -10px;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap button.kchkm-btn:hover {
  cursor: pointer;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap button.kchkm-btn:hover::after {
  top: 10px;
}

/*--------------------
 #nayamilink
----------------------*/
#nayamilink {
    background: #fffced;
    padding: 60px 0;
}
#nayamilink .nayami-box {
}
#nayamilink .nayami-box .hx {
    line-height: 0;
}
#nayamilink .nayami-box .box {
}
#nayamilink .nayami-box .box ul.nayami-link {
    margin-bottom: 25px;
}
#nayamilink .nayami-box .box ul.nayami-link li {
    width: calc(94% / 4);
    float: left;
    margin: 0 2% 10px 0;
}
#nayamilink .nayami-box .box ul.nayami-link li.n4 {
    margin: 0 0 10px 0;
}
#nayamilink .nayami-box .box .check-list {
    margin-bottom: 25px;
}
#nayamilink .nayami-box .box .check-list li {
    box-shadow: 0 0 3px #c4c3c3;
    margin-bottom: 10px;
    background: url(../img/lp/bg-memo02.jpg) repeat top center;
}
#nayamilink .nayami-box .box .check-list li span {
    display: block;
    color: #5f463f;
    font-size: 18px;
    line-height: 1.2;
    background: url(../img/lp/icon01.png) no-repeat 10px 13px;
    padding: 22px 3% 18px 50px;
}
#nayamilink .nayami-bnr {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

/*--------------------
 #konpon
----------------------*/
#konpon {
    padding: 60px 2%;
}
#konpon h2 {
    margin-bottom: 30px;
}
#konpon .img {
    margin-bottom: 30px;
}

/*--------------------
 #greeting
----------------------*/
#greeting {
    background: #fffced;
    padding: 60px 0;
}
#greeting h2 {
    line-height: 1.4;
    text-align: center;
    margin-bottom: 35px;
}
#greeting h2 .en {
    display: block;
    font-size: 32px;
    font-weight: bold;
    color: #da980b;
    margin-bottom: 4px;
}
#greeting h2 .ja {
    display: block;
    font-size: 15px;
}
#greeting .box {
    position: relative;
    margin-bottom: 5%;
}
#greeting .box .img {
    width: 60%;
}
#greeting .box .text-box {
    width: 55%;
    background-color: #fff;
    box-shadow: 3px 3px 3px #9e9e9e;
    padding: 4%;
    position: absolute;
    bottom: -5%;
    right: 0;
}
#greeting .box .text-box h3 {
    line-height: 1.4;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 18px;
}
#greeting .box .text-box .text {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 15px;
}
#greeting .box .text-box .name {
    text-align: right;
}

/*--------------------
 #feature
----------------------*/
#feature {
    background: #ffae00;
    padding: 60px 0;
}
#feature h2 {
    line-height: 1.4;
    text-align: center;
    margin-bottom: 35px;
}
#feature h2 .en {
    display: block;
    font-size: 32px;
    font-weight: bold;
    color: #fff;
    margin-bottom: 4px;
}
#feature h2 .ja {
    display: block;
    font-size: 15px;
    color: #fff;
}
#feature .list-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#feature .list-box .box {
    width: 32%;
    margin-right: 2%;
    margin-bottom: 25px;
}
#feature .list-box .box.n2 {
}
#feature .list-box .box.n3 {
    margin-right: 0;
}
#feature .list-box .box .img {
    width: 90%;
}
#feature .list-box .box .text-box {
    width: 90%;
    background-color: #fff;
    box-shadow: 3px 3px 3px #5b5b5b;
    position: relative;
    padding: 5%;
    margin: -25px auto 0;
}
#feature .list-box .box .text-box h3 {
    line-height: 1.4;
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 15px;
}
#feature .list-box .box .text-box h3 span {
    display: flex;
    font-size: 14px;
    font-weight: normal;
    margin-bottom: 3px;
}
#feature .list-box .box .text-box .text {
    font-size: 14px;
    margin-bottom: 0;
}

/*--------------------
 #flow
----------------------*/
#flow {
    background: #fffced;
    padding: 60px 0;
}
#flow h2 {
    line-height: 1.4;
    text-align: center;
    margin-bottom: 35px;
}
#flow h2 .en {
    display: block;
    font-size: 32px;
    font-weight: bold;
    color: #da980b;
    margin-bottom: 4px;
}
#flow h2 .ja {
    display: block;
    font-size: 15px;
}
#flow .flow-box {
}
#flow .flow-box .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}
#flow .flow-box .box .step {
    width: 100px;
    line-height: 1.4;
    font-size: 15px;
    font-weight: bold;
    color: #ffae00;
    border-right: 1px solid #bbc1d0;
    position: relative;
}
#flow .flow-box .box .step::after {
    content: '';
    position: absolute;
    top: 4px;
    right: -8px;
    width: 9px;
    height: 9px;
    background: #ffae00;
    border: 3px solid #fffced;
    border-radius: 50%;
}
#flow .flow-box .box .info {
    width: calc(100% - 100px);
    padding: 0 0 25px 3%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#flow .flow-box .box .info .text-box {
    width: 68%;
}
#flow .flow-box .box .info .text-box h3 {
    line-height: 1.4;
    font-size: 18px;
    font-weight: bold;
    color: #ffae00;
    margin-bottom: 15px;
}
#flow .flow-box .box .info .text-box .text {
    margin-bottom: 0;
}
#flow .flow-box .box .info .img {
    width: 30%;
}

/*--------------------
 #guide
----------------------*/
#guide {
    padding: 60px 2%;
}
#guide h2 {
    line-height: 1.4;
    text-align: center;
    margin-bottom: 35px;
}
#guide h2 .en {
    display: block;
    font-size: 32px;
    font-weight: bold;
    color: #da980b;
    margin-bottom: 4px;
}
#guide h2 .ja {
    display: block;
    font-size: 15px;
}
#guide .guide-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 30px;
}
#guide .guide-box .box {
    width: 57%;
}
#guide .guide-box .box .logo {
    width: 100%;
    max-width: 350px;
    margin-bottom: 10px;
}
#guide .guide-box .box .adrs {
    line-height: 1.4;
    font-size: 14px;
    margin-bottom: 15px;
}
#guide .guide-box .box .tel {
    width: 100%;
    max-width: 213px;
    margin-bottom: 20px;
}
#guide .guide-box .box table {
    width: 100%;
    line-height: 1.4;
    margin-bottom: 10px;
}
#guide .guide-box .box table tr {
    border-top: 1px solid #cdcdcd;
    border-bottom: 1px solid #cdcdcd;
}
#guide .guide-box .box table tr th {
    color: #ffa200;
    padding: 10px 2%;
    text-align: center;
}
#guide .guide-box .box table tr th.hx {
    width: 120px;
    padding: 10px 0;
    text-align: left;
}
#guide .guide-box .box table tr td {
    padding: 10px 2%;
    text-align: center;
}
#guide .guide-box .box table tr td.hx {
    padding: 10px 0;
    text-align: left;
}
#guide .guide-box .box .memo {
    line-height: 1.4;
    font-size: 14px;
}
#guide .guide-box .box .memo span {
    color: #ffa200;
}
#guide .guide-box .img {
    width: 40%;
}
#guide .gmap {
    width: 100%;
}
#guide .gmap iframe {
    width: 100%;
    height: 400px;
}

/*===== footer =====*/
footer {
}
footer .copy {
    background-color: #ffae00;
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
    padding: 14px 2%;
}

/*===== pagetop =====*/
.pagetop {
    width: 55px;
    position: fixed;
    bottom: 5%;
    right: 8%;
    z-index: 100;
}

/*===============================================
    ■tablet 画面の横幅が768pxまで
===============================================*/
@media screen and (max-width: 768px) {
  .sp { display: block;}
  .pc { display: none;}
/*===== header =====*/
/*===== footer =====*/
/*-------- #nayamilink --------*/
  #nayamilink .nayami-box .box ul.nayami-link li {
    width: 32%;
    margin: 0 2% 10px 0;
  }
  #nayamilink .nayami-box .box ul.nayami-link li.n4 {
    margin: 0 2% 10px 0;
  }
  #nayamilink .nayami-box .box ul.nayami-link li.n3 {
    margin: 0 0 10px 0;
  }
/*-------- #greeting --------*/
  #greeting .box {
    position: static;
  }
  #greeting .box .img {
    width: 100%;
  }
  #greeting .box .text-box {
    width: 100%;
    position: static;
    bottom: auto;
    right: auto;
  }
/*-------- #feature --------*/
  #feature .list-box {
    justify-content: space-between;
  }
  #feature .list-box .box {
    width: 48%;
    margin-right: 0;
  }
/*-------- #guide --------*/
  #guide .guide-box .box {
    width: 100%;
    margin-bottom: 20px;
  }
  #guide .guide-box .img {
    width: 100%;
    max-width: 510px;
    margin: 0 auto;
  }
}

/*===============================================
    ■smart 画面の横幅が480pxまで
===============================================*/
@media screen and (max-width: 480px) {
/*===== header =====*/
  header .hd-box .logo {
    width: 85%;
    max-width: 387px;
    margin: 0 auto 15px;
  }
  header .hd-box .tel {
    width: 60%;
    max-width: 398px;
    margin: 0 auto;
  }
/*===== footer =====*/
/*===== #main =====*/
  #main {
    padding-top: 30px;
  }
/*-------- #front --------*/
  #front {
    padding-bottom: 30px;
  }
  #front .front-box .img01 {
    width: 100%;
    max-width: 412px;
    margin: 0 auto 15px;
  }
  #front .front-box .img02 {
    width: 100%;
    margin: 0 auto;
  }
/*-------- #sejyutu --------*/
  #sejyutu {
    padding-bottom: 30px;
  }
  #sejyutu .box .img {
    width: 100%;
    max-width: 470px;
    margin: 0 auto 15px;
  }
  #sejyutu .box .text-box {
    width: 100%;
  }
/*-------- #kchkm --------*/
  #kchkm {
    padding-bottom: 30px;
  }
/*-------- #nayamilink --------*/
  #nayamilink {
    padding: 30px 0;
  }
  #nayamilink .nayami-box .box ul.nayami-link li {
    width: 48%;
    margin: 0 0 10px 0;
  }
  #nayamilink .nayami-box .box ul.nayami-link li.n2 {
    float: right;
  }
/*-------- #konpon --------*/
  #konpon {
    padding: 30px 2%;
  }
/*-------- #greeting --------*/
  #greeting {
    padding: 30px 0;
  }
/*-------- #feature --------*/
  #feature {
    padding: 30px 0;
  }
  #feature .list-box .box {
    width: 100%;
  }
/*-------- #flow --------*/
  #flow {
    padding: 30px 0;
  }
  #flow .flow-box .box .info .text-box {
    width: 100%;
    margin-bottom: 15px;
  }
  #flow .flow-box .box .info .img {
    width: 100%;
    max-width: 250px;
    margin: 0 auto;
  }
/*-------- #guide --------*/
  #guide {
    padding: 30px 2%;
  }
}
