/*/////////////////////////////////////////////
// スマホ用レイアウト
//////////////////////////////////////////////*/
@media screen and (max-width: 767px) {
/* 767pxまでの幅の場合に適応される */



html{
  height: -webkit-fill-available;
}
body{
  min-height: 100vh;
  min-height: -webkit-fill-available;
}

a,
a:visited {
  text-decoration: none;
  transition: unset;
}
a {
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}
*:focus {
  outline: none;
}

/*共通設定*/
.pc-none{
  display: block !important;
}
.sp-none{
  display: none !important;
}

.row{
  width:100%;
  margin:0 auto;
  text-align:center;
}
.in_row{
  width:100%;
  margin:0 auto;
  text-align:center;
}

/*--------------------------------------------------------
ヘッダー
--------------------------------------------------------*/
div.head_main{
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction:row;
  padding: 10px 0 10px;
}
div.logo{
  width:45%;
  padding-left:5px;
}
div.head_bn{
  width:36%;
  margin-left:auto;
  text-align:right;
  position:absolute;
  top:0px;
  right:50px;
}


/*--------------------------------
ナビゲーション
---------------------------------*/
/*ハンバーガーメニューが開いた時はスクロール禁止にする*/
.open {
  width: 100%;
  height: 100%;
  position: fixed;
}
/*body.fixed{
  position: fixed;
  width:100%;
}*/
.navi_area{
  position: absolute;
  width: 100%;
  /*background: #000;*/
}
.mainnavi {
  width: 12%;
  display: block;
  padding:0px 7px 0;
  box-sizing:border-box;
  top:10px;
  position:fixed;
  right: 5px;
  background:var(--mizuiro);
  z-index:300001;
}
#hamburgerbtn {
  position: relative;
  color:red;
  cursor: pointer;
  width:100%;
  padding:8px 0px 0px;
  box-sizing: border-box;
  z-index: 300001;
  font-size:14px;
}
#hamburgerbtn span {
  display: block;
  width: 100%;
  color:#fff;
  height: 2px;
  background: #fff;
  border-radius: 50px;
  margin-bottom: 9px;
  z-index: 300000;
}
#hamburgerbtn span:nth-of-type(3) {
  margin-bottom: 3px;
}
.open #hamburgerbtn span:nth-of-type(1){
  transform: rotate(45deg);
  margin:10px 0 0 0;
}
.open #hamburgerbtn span:nth-of-type(2) {
  opacity: 0; 
}
.open #hamburgerbtn span:nth-of-type(3){
  transform: rotate(-45deg);
  margin:-12px 0 13px 0;
}
#splayer {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--mizuiro);
  height: 100vh;
  z-index: 20000;
}
#slidemenu {
  display: none;
  position: fixed;
  -webkit-overflow-scrolling:auto;
  top: 0;
  width:100%;
  left: 0;
  height: auto;
  list-style: none;
  margin:0px;
  z-index: 300000;
  background: none;
  border: none !important;
}
#slidemenu li{
  background: none;
  width:100%;
  display: block;
  text-align:left;
  border:none;
  margin:0;
  padding:20px 0 10px 10px;
  border-radius: 0px;
  box-sizing: border-box;
  border-bottom: 1px solid #fff;
  border-left: none !important;
}
#slidemenu li a{
  color: #fff;
  display: block;
  position: relative;
  text-decoration: none;
  padding: 0 0 10px 20px;
  border-left: none !important;
}
#slidemenu li a:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -9px;
  transform: rotate(45deg);
}

/*--------------------------------------------------------
main view
--------------------------------------------------------*/
div.kv{
  width: 100%;
  height: 400px;
  background-image: url(../images/bg_sp.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;  
  background-position:center bottom;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:20px;
}
div.in_kv{
  width:100%;
  padding:0 10px 0;
  box-sizing:border-box;
}

div.kv_text h2{
  right:0px;
  width:50%;
}
div.kv_text h3{
  font-size:16px;
  text-underline-offset: 5px;

}
div.kv_text h1{
  margin:0 auto;
  padding:30px 0 10px;
  font-size:36px;
  text-align:center;
}
div.kv_img{
  width:68%;
  padding-top:20px;
}

div.cta{

}
div.cta_in{
  display:flex;
  justify-content:space-around;
  align-items:flex-end;
  padding:0 7px 0;
  box-sizing:border-box;
}
.cta_img{
  width:45%;
}
div.cta_r{
  width:55%;
  padding:7px;
  box-sizing:border-box;
}
div.cta_r a{
  display:block;
  margin:10px auto 20px;
}

/*--------------------------------------------------------
フッター
--------------------------------------------------------*/
div.footer{
  padding-bottom: 80px;
}
.footer_in{
  padding: 0px 0px 0px;
  box-sizing: border-box;
}
.foot_logo{
  width: 55%;
  margin: 0 auto;
}
.foot_bn{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 10px;
}
.foot_bn a{
  margin: 5px;
  width: 70%;
}
ul.foot_navi{
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  display: flex; /* 子要素をflexboxで揃える */
  justify-content: space-around; /* 子要素をflexboxにより中央に配置する */
  align-items: center;  /* 子要素をflexboxにより中央に配置する */
  flex-wrap: wrap;
  padding-top: 0px;
  width: 100%;
}
ul.foot_navi li{
  position:relative;
  width: 50%;
  padding:12px 10px 12px 20px;
  box-sizing:border-box;
  margin: 0px;
  text-align:left;
  border-bottom:1px solid #fff;
}
ul.foot_navi li:first-child{
  width:100%;
}
ul.foot_navi li:last-child{
  border-bottom:none;
}
ul.foot_navi li:nth-child(8){
  border-bottom:none;
}

ul.foot_navi li:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -3px;
  transform: rotate(45deg);
}


ul.foot_navi a{
  font-size:14px;
}
div.copy{
  background:#96d4f2;
  margin-top: 0px;
  padding: 13px 0 10px;
}
.copy h5{
  font-size: 12px;
  font-weight: normal;
}

/*page top*/
#page_top{
  display: none;
}

div.sp_foot{
   position: fixed;
   width: 100%;
   bottom: 0px;
   font-size: 0;
   opacity: 0.9;
   z-index: 99;
}
ul.footer_menu {
  position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   list-style: none;
   padding:0;
   margin:0;
   width:100%;
   background: #fff;
}
ul.footer_menu li {
   width: 50%;
   padding:10px 5px 10px;
   box-sizing: border-box;
   margin:0 auto;
   text-align: center;
   background: #fff;
}

ul.footer_menu li a:hover{
  opacity: 0.8;
}


/*--------------------------------------------------------
コンテンツ
--------------------------------------------------------*/
div.about_area{
  padding: 30px 0 30px;
  background:#fdfdfd;
}
div.about_title{

}
div.about_title h2 img{
  width:50%;
}
div.about_title h2{
  font-size: 24px;
}
div.about_title p{
  padding:20px 30px 0;
  line-height:1.6;
  box-sizing:border-box;
}
div.about_wrap{
  padding: 10px 0 0px;
}
div.about_wrap h3{
  position: relative;
  padding: 1rem 0.5rem;
  font-size: 24px;
  color:var(--mizuiro);
  display:inline-block;
}
div.about_wrap h3:before,
div.about_wrap h3:after {
  position: absolute;
  top: 48%;
  width: 1rem;
  border-top: 4px double var(--mizuiro);
  content: '';
}
div.about_wrap h3:before {
  left: -2rem;
}
div.about_wrap h3:after {
  right: -2rem;
}
div.about_wrap ul{
  width:100%;
  display:flex;
  justify-content:space-around;
  align-items:stretch;
  flex-wrap:wrap;
  gap:20px;
  margin-top:0px;
}
div.about_wrap ul li{
  width:88%;
  border-radius:5px;
  padding:15px 20px;
}
div.about_wrap ul li h4{
  font-size:24px;
}
div.about_wrap ul li h4 span{
  font-size:16px;
}
div.about_wrap ul li p{
  text-align:left;
  line-height:1.5;
  padding:15px 0 10px;
}
div.about_wrap ul li:last-child h4{
  padding-top:30px;
}
div.about_wrap ul li img{
  margin:20px auto;
}
div.about_wrap ul li p span{
  font-size:12px;
}

div.item_area{
  position:relative;
  padding:30px 0 20px;
}
div.title_area{
  padding-bottom:30px;
}
div.title_area h2{
  font-size: 24px;
}


ul.slider{
  margin:10px auto;
  display:flex;
  justify-content:center;
  align-items:stretch;
  flex-wrap:wrap;
  gap:10px;
  width:95%;
}

ul.slider li{
  width:48%;
  display:flex;
  flex-wrap:wrap;
  padding:20px 12px 20px;
  box-sizing:border-box;
  margin:0 0px 0;
  text-align:center;
  border-radius:5px;
  border:1px solid #ccc;
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
  min-height:auto;
}
ul.slider li img{
  text-align:center;
  margin:0 auto;
}
ul.slider li h3{
  display:inline-block;
  font-size:16px;
  padding-bottom:15px;
}
ul.slider li:first-child h3{
  font-size:14px;
}
ul.slider li:last-child{
  margin-right:auto;
}

div.item_btn_wrap{
  padding:20px 0 20px;
}
.item_btn{
  display:block;
  margin:0 auto;
  width:90%;
  border-radius:5px;
  border:2px solid var(--mizuiro);
  padding:15px 20px;
  font-size:18px;
  font-weight:500;
  color:var(--mizuiro);
  text-align:center;
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
}
.item_btn:hover{
  background:var(--mizuiro);
  color:#fff;
}


div.flow_area{
  padding:30px 0 0px;
  width: 100%;
  position: relative;
  height: auto;
  background-image: url(../images/bg_sora.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;  
}

ul.flow_list{
  margin:15px auto 30px;
  display:flex;
  justify-content:space-around;
  align-items:stretch;
  gap:10px;
  width:95%;
}
ul.flow_list li{
  width:32%;
}
ul.flow_list li h3{
  font-size:30px;
}
ul.flow_list li h3 span{
  font-size:20px;
}
ul.flow_list li p{
  display:none;
}
div.flow_wrap{
  border-top:2px dotted #fff;
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  flex-direction:column;
  padding:25px 10px 20px;
  box-sizing:border-box;
}

div.flow_wrap img{
  margin:10px auto;
  width:50%;
}
div.flow_box{
  text-align:left;
}
div.flow_title{
  display:flex;
  justify-content:flex-start;
  align-items:center;
}
div.flow_icon{
  width:55px;
  height:55px;
  border-radius:10px;
  background:#fff;
  font-size:28px;
  color:var(--mizuiro);
  font-weight:700;
  text-align:center;
  line-height:1;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
}
div.flow_icon span{
  font-size:14px;
  display:block;
}
div.flow_title h3{
  line-height:1.4;
  font-size:22px;
  color:#fff;
  padding-left:7px;
}
div.flow_box p{
  padding:20px 0 0 0;
  font-size:16px;
  color:#fff;
  line-height:2;
}
div.flow_box p span{
  font-size:14px;
}


div.flow_wrap2{
  border-top:2px dotted #fff;
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
  flex-direction:column;
  padding:25px 10px 20px;
  box-sizing:border-box;
}
div.flow_wrap2 img{
  margin:10px auto;
  width:50%;
  order:2;
}
div.flow_box2{
  text-align:right;
}
div.flow_title2{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
div.flow_title2 h3{
  line-height:1.4;
  font-size:20px;
  color:#fff;
  padding-right:8px;
}
div.flow_box2 p{
  padding:20px 0 0 0;
  font-size:16px;
  color:#fff;
  line-height:2;
}
div.flow_box2 p span{
  font-size:14px;
}
.fs18{
  font-size:18px !important;
}

div.faq_area{
  padding: 30px 0 0px;  
}
dl.faq_list{
  box-sizing: border-box;
  width: 100%;
  margin: 0px auto 0px;
  padding-bottom: 10px;
}
dl.faq_list dt{
  font-size:14px;
  padding:15px 0 10px 60px;
  margin:10px 0 0px 0px;
}
dl.faq_list dt:last-child{
}
dl.faq_list dt::before{
  position: absolute;
  content:'Q';
  color:#fff;
  background:var(--mizuiro);
  width:30px;
  height:30px;
  border-radius:5px;
  text-align:center;
  font-size:20px;
  font-weight:500;
  display: inline-block;
  top:10px;;
  left:20px;
  line-height:1.4;
}
dl.faq_list dd{
  margin:0px auto;
  background: #fff;
  padding:15px 10px 10px 60px;
  box-sizing:border-box;
  position: relative;
  font-size:13px;
  text-align:left;
  line-height:1.5;
  border-bottom:1px solid #eaeaea;
}
dl.faq_list dd::before{
  position: absolute;
  content:'A';
  color:#fff;
  background:var(--orange);
  width:30px;
  height:30px;
  border-radius:5px;
  text-align:center;
  font-size:20px;
  font-weight:500;
  display: inline-block;
  top:10px;;
  left:20px;
  line-height:1.4;
}
dl.faq_list dd:last-child{
  border:none;
}



/*//////////////////////////////////
//下層ページ
//////////////////////////////////*/

div.kv_low{
  background-image: url(../images/kv_low.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;  
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
}

div.low_title{

}
div.low_title h1{
  font-size: 28px;
}
div.low_contents{
  padding: 20px 0 20px;  
}

.tokute_wrap{
  padding: 20px 0 10px;
}
table.toku_tb{
  width: 90%;
}

table.toku_tb th{
  display: block;
  width: 100%;
  padding: 10px;
  text-align: left;
  background: var(--mizuiro);
  border-bottom: none;
  border-top: none;
  color:#fff;
}
table.toku_tb tr:first-child th{
  border-top: 1px solid #494949;
}
table.toku_tb td{
  display: block;
  width: 100%;
  padding: 15px;
}


.low_contents .sv_wrap:first-child{
  margin-top:20px;
}
div.sv_wrap{
  width:85%;

  border-radius:5px;
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
  margin-bottom:20px;
}

div.sv_title{
  background:var(--mizuiro);
  padding:15px 0 15px;
  border-radius:5px 5px 0 0;
}
div.sv_title h2{
  font-size:22px;
  color:#fff;
}
div.sv_in{
  display:flex;
  justify-content:space-around;
  align-items:center;
  flex-direction:column;
  padding:20px;
  box-sizing:border-box;
}
div.sv_l{
  width:100%;
}
div.sv_r{
  width:100%;
}
div.sv_img{
  width:100%;
  border:1px solid #ccc;
  border-radius:5px;
  padding:20px;
  box-sizing:border-box;
  margin:0 auto;
}
div.sv_l a{
  margin:20px auto 0;
  width:100%;
  display:block;
}
div.sv_r ul.sv_item:last-child{
  border-bottom:none;
}
ul.sv_item{
  width:100%;
  border-bottom:2px solid var(--mizuiro);
  text-align:left;
}
ul.sv_item li{
  text-align:left;
  padding:0px 0 0px 0;
}
ul.sv_item li:first-child{
  padding-top:20px;
}
ul.sv_item li:last-child{
  padding-bottom:20px;
}
ul.sv_item li h3{
  font-size:18px;
  font-weight:bold;
}
ul.sv_item li p{
  text-align:right;
  font-size:14px;
}
ul.sv_item li p span{
  font-size:24px;
  color:red;
  font-weight:bold;
}






/*contact*/
table.contact_tb{
  width: 90%;
}
table.contact_tb th{
  display: block;
  width: 100%;
  padding: 10px;
  text-align: left;
  background: var(--mizuiro);
  border-bottom: none;
  border-top: none;
}
table.contact_tb tr:first-child th{
  border-top: 1px solid var(--mizuiro);
}
table.contact_tb td{
  display: block;
  width: 100%;
  padding: 15px;
}

/*input text design*/
.form-text{
  padding: 12px;
  font-size: 16px;
}
.form-textarea{
  height: 170px;
  padding: 12px;
  font-size: 16px;
}
.submit-btn{
  width: 45%;
  padding: 15px;
  font-size: 18px;
}
.form-textmini{
  width: 50%;
  padding: 12px;
  font-size: 16px;
}
.form-select01{
  width: 100%;
  padding: 5px;
  font-size: 14px;
  background: #fff;
}
.form-select02{
  width: 35%;
  padding: 5px;
  font-size: 14px;
  background: #fff;
  margin-top: 5px;
}
.form-checkbox {
  font-size: 14px;
}
.order-btn{
  width: 60%;
  padding: 20px;
  font-size: 18px;
}
.order-prev-btn{
  width: 60%;
  padding: 20px;
  font-size: 18px;
  margin-bottom: 10px;
}


table.order_tb{
  width: 90%;
}
table.order_tb th{
  display: block;
  width: 100%;
  padding: 10px;
  text-align: left;
  background: #77b2e9;
  border-bottom: none;
  border-top: none;
}
table.order_tb tr:first-child th{
  border-top: 1px solid #77b2e9;
}
table.order_tb td{
  display: block;
  width: 100%;
  padding: 15px 10px 15px;
}
.order_td01{
  text-align: center !important;
  background: #e9f2fe !important;
  border-bottom: none !important;
}
table.order_tb td .item_wrap{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  padding: 0 0 5px 0;
}

h3.order_title{
  margin: 0 auto;
  width: 90%;
  font-size: 16px;
  padding: 10px 0 10px;
  background: #494949;
  color: #fff;
}
h3.order_title span{
  font-size: 14px;
  color: #fff;
  font-weight: normal;
}
h3.order_title span a{
  color: yellow;
}


































}
/*end 768 */
