/*/////////////////////////////////////////////
// スマホ用レイアウト
//////////////////////////////////////////////*/
@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: space-between;
  align-items: center;
  border-top: 3px solid #76a9d1;
  padding: 10px 0 10px;
}
div.logo{
  width: 50%;
  padding-left: 0;
}

.head_bn{
  display: none;
}

/*--------------------------------
ナビゲーション
---------------------------------*/
/*ハンバーガーメニューが開いた時はスクロール禁止にする*/
.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;
  top:18px;
  position:fixed;
  right: 10px;
  z-index:300001;
}
#hamburgerbtn {
  position: relative;
  color:red;
  cursor: pointer;
  width:100%;
  padding:10px 0px 10px;
  box-sizing: border-box;
  z-index: 300001;
  font-size:14px;
}
#hamburgerbtn span {
  display: block;
  width: 100%;
  color:#1365b0;
  height: 1px;
  background: #1365b0;
  border-radius: 5px;
  margin-bottom: 10px;
  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: #76a9d1;
  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 20px;
  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 0;
  border-left: none !important;
}

/*--------------------------------------------------------
main view
--------------------------------------------------------*/
div.kv{
  background: #76a9d1 url(../images/kv_item.png);
  background-repeat:no-repeat;
  background-size:contain;
  background-position: calc(50% - 10px)  calc(100% - 5px);
  width: 100%;
  height:auto;
  margin:0 auto;
  text-align:center;
}
.kv_in{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-direction:column;
  margin:0 auto;
  text-align:center;
}
.kv_in h1{
  font-size: 16px;
  text-align:center;
  margin:0 auto 200px;
  font-weight: normal;
  order:2;
  padding:10px ;
  box-sizing:border-box;
  color:#fff;
}
.kv_in h2{
  order:1;
  margin:0 auto;
  box-sizing:border-box;
  padding:40px 20px 10px;
}


/*--------------------------------------------------------
フッター
--------------------------------------------------------*/
div.footer{
  background: #76a9d1;
  padding-bottom: 100px;
}
.footer_in{
  padding: 20px 20px 20px;
  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: center; /* 子要素をflexboxにより中央に配置する */
  align-items: center;  /* 子要素をflexboxにより中央に配置する */
  flex-wrap: wrap;
  padding-top: 0px;
  width: 100%;
}
ul.foot_navi li:last-child{
  border: inherit;
  border-right: 1px solid #fff;
}
ul.foot_navi li{
  width: 50%;
  padding:0px 0px 0px;
  border: none;
  margin: 5px 0 5px;
  border-right: 1px solid #fff;
}
ul.foot_navi li:nth-child(odd){
  border-left: 1px solid #fff;
}


ul.foot_navi a{
  font-size:14px;
}
div.copy{
  margin-top: 0px;
  border-top: 1px solid #fff;
  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.products_area{
  padding: 20px 0 20px;
}
div.title_area h2{
  font-size: 20px;
  font-weight: normal;
  line-height: 1.2;
}
div.title_area h2 span{
  line-height: 1;
  font-size: 18px;
  font-weight: normal;
}
ul.products_list{
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 10px;
  margin-right: auto;
  margin-left: auto;
  width: 95%;
}
ul.products_list li{
  width: 50%;
  margin-top: 10px;
  padding: 5px;
  box-sizing: border-box;
}

/* ←ここがポイント */
.products_list h3 {
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 5px;           /* 上下左右に少し余白 */
  margin: 0;
  box-sizing: border-box;
}





div.iphone_banner{
  width:95%;
  padding:10px 5px 0;
  box-sizing:border-box;
  margin:0 auto;
}
div.bn_area{
  width: 95%;
  padding-top: 10px;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
div.bn_area div{
  padding: 5px;
  box-sizing: border-box;
}

div.about_area{
  padding: 0px 0 0px;
}
div.about_title{
  background: #76a9d1;
  padding: 10px 0 10px;
}
div.about_title h2{
  font-size: 22px;
  font-weight: normal;
}
div.about_wrap{
  width: 100%;
  padding: 20px 0 0px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-direction: column;
}
div.about_l{
  width: 95%;
  margin: 0 auto;
}
div.about_l img{  
  width: 80%;
  margin-right: 20px;
}
div.about_r{
  width: 95%;
  padding: 5px;
  margin: 0 auto;
  box-sizing: border-box;
}
div.about_r p{
  font-size: 16px;
  text-align: left;
  line-height: 1.6;
}

div.point_area{
  padding: 20px 0 20px;
}
div.point_wrap{
  padding: 10px 0 10px;
}
ul.point_list{
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  flex-direction: column;
}
ul.point_list li{
  width: 90%;
  margin: 10px auto 0;
  border: 2px solid #494949;
  border-radius: 5px;
  padding: 15px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-direction: column;
}
ul.point_list li:last-child{
  padding-bottom: 5px;
}
ul.point_list li h3{
  font-size: 20px;
  color: #1365b0;
  line-height: 1.5;
  padding: 10px 0 10px;
}
ul.point_list li p{
  padding: 0 0 10px 0;
}
ul.point_list li span{
  font-size: 12px;
}

/*2023.11.14 add*/
div.benri_area{
  padding:20px;
  box-sizing:border-box;
}
div.benri_in{
  border-radius:10px;
  border:1px solid #000;
}
div.benri_in h2{
  font-size:24px;
  padding:15px 0;
  line-height:1.1;
  display:flex;
  align-items:center;
  justify-content:center;
}
div.benri_in h2:before{
  content:'';
  width:59px;
  height:71px;
  display:block;
  background-image:url(../images/point_icon.png);
  background-repeat:no-repeat;
  background-size:contain;
  vertical-align: middle;
  margin:0px 0px 10px 0;
  box-sizing:border-box;
}
.benri_tx{
  font-size:20px;
  text-align:center;
  line-height:1.3;
  padding:30px 10px 10px;
  box-sizing:border-box;
}
.benri_tx b{
  color:#e06d67;
}
.benri_tx span{
  font-size:16px;
  color:#e06d67;
}
div.benri_wrap{
  width:100%;
  box-sizing:border-box;
  padding:0 20px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}
div.benri_wrap img{
  margin:20px auto 10px;
}
div.benri_text{
  width:100%;
}
div.benri_text h3{
  color:#e06d67;
  font-size:20px;
}
ul.benri_list{
  width:100%;
  text-align:left;
  margin:10px auto;
}
ul.benri_list li{
  font-size:14px;
  position:relative;
  padding:10px 0 0px 0px;
  display:flex;
  justify-content:flex-start;
  align-items:center;
}
ul.benri_list li:before{
  content:'';
  width:25px;
  height:22px;
  display:block;
  background-image:url(../images/check_icon.png);
  background-repeat:no-repeat;
  background-size:contain;
  vertical-align: middle;
  box-sizing:border-box;
  padding:0 30px 0 0;
}
div.benri_text p{
  text-align:left;
  font-size:14px;
}

div.flow_area{
  padding: 20px 0 20px;  
  background: #77b2e9;
}
div.title_area2 h2{
  font-size: 20px;
  font-weight: normal;
  color: #fff;
  line-height: 1.2;
}
div.title_area2 h2 span{
  line-height: 1;
  font-size: 18px;
  color: #fff;
  font-weight: normal;
}
div.title_area2 p{
  color: #fff;
  padding: 15px;
}
div.flow_wrap{
  padding: 0px 0 0;
}
ul.flow_list{
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
ul.flow_list li:first-child img{
  width: 80%;
  margin-left: 15px;
}
ul.flow_list li{
  width: 50%;
  padding: 10px;
  box-sizing: border-box;
}
ul.flow_list li h3 span{
  color: #fff;
}
ul.flow_list li h3{
  padding: 15px 0 15px;
  font-size: 16px;
  color: #fff;
  font-weight: normal;
}
ul.flow_list li p{
  font-size: 14px;
  font-weight: normal;
  color: #fff;
}
ul.flow_list li:last-child h3{
  padding-top: 25px;
}
.mail_cation{
  display:block;
  padding:0 15px 0;
  box-sizing:border-box;
}

div.faq_area{
  padding: 20px 0 20px;  
}
dl.faq_list{
  box-sizing: border-box;
  width: 90%;
  margin: 20px auto 10px;
  border-bottom:1px solid #494949;
  padding-bottom: 5px;
}
dl.faq_list dt{
  font-weight: normal;
  cursor: pointer;
  position: relative;
  font-size:16px;
  color:#494949;
  text-align:left;
  box-sizing: border-box;
  padding:15px 0 10px 60px;
  margin:5px 0 0px 0px;
  border-top: 1px solid #494949;
}
dl.faq_list dt:last-child{
}
dl.faq_list dt::before{
  position: absolute;
  content:'Q';
  font-weight: normal;
  font-size:24px;
  color:#494949;
  display: inline-block;
  top:10px;;
  left:20px;
}
dl.faq_list dd{
  margin:10px auto;
  background: #fff;
  padding:15px 0 10px 60px;
  position: relative;
  color:#494949;
  font-size:14px;
  line-height: 1.7;
  text-align:left;
}
dl.faq_list dd::before{
  position: absolute;
  content:'A';
  font-weight: normal;
  font-size:24px;
  color:#494949;
  display: inline-block;
  top:10px;;
  left:20px;
}
/*accodion*/
dl.faq_list dt:after {
   content: "";
   position: absolute;
   border-right: 2px solid #494949;
   border-bottom: 2px solid #494949;
   width: 10px;
   height: 10px;
   top:10px;
   right: 20px;
   bottom:0;
   margin:12px 0 0 0;
   transform: rotate(45deg);
}
dl.faq_list dt.ac:after {
   content: "";
   position: absolute;
   border-right: 0;
   border-bottom: 0;
   border-right: 2px solid #494949;
   border-bottom: 2px solid #494949;
   width: 10px;
   height: 10px;
   top:20px;
   right: 20px;
   transform: rotate(-135deg);
}

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

div.kv_low{
  background-color: #76a9d1;
  background-image: -webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #F9F9F9), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #F9F9F9),color-stop(.75, #F9F9F9), color-stop(.75, transparent),to(transparent));
  -webkit-background-size: 14px 14px;  
  height: 140px;
  display: flex;
  justify-content: center;
  align-items: center;
}
div.low_title{

}
div.low_title h1{
  font-size: 22px;
  color: #494949;
}
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: #76a9d1;
  border-bottom: none;
  border-top: none;
}
table.toku_tb tr:first-child th{
  border-top: 1px solid #494949;
}
table.toku_tb td{
  display: block;
  width: 100%;
  padding: 15px;
}


.sv_wrap{
  padding: 20px 0 10px;
}
div.sv_box{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding-top: 10px;
  padding-bottom: 10px;
}
div.sv_l{
  width: 100%;
  padding: 0 20px 0;
  box-sizing: border-box;
}
div.sv_r{
  width: 100%;
  padding: 10px 20px 20px;
  box-sizing: border-box;
  font-feature-settings: normal;
}
.sv_img_box{
  width: 100%;
  min-height: 100%;
  padding: 10px;
  box-sizing: border-box;
}
div.sv_r h2{
  width: 100%;
  background: #76a9d1;
  padding: 7px 0 7px;
  font-size: 20px;
  font-weight: normal;
}
ul.sv_item{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  border-bottom: 1px solid #494949;
  padding: 20px 20px 20px;
  box-sizing: border-box;
}
ul.sv_item li{

}
ul.sv_item li:last-child{
  margin-left: auto;
}
ul.sv_item li h3{
  text-align: left;
  font-size: 18px;
  font-weight: normal;
  border-left: 8px solid #76a9d1;
  padding-left: 10px;
}
ul.sv_item li p{
  padding-top: 15px;
  text-align: center;
  font-size: 16px;
  font-weight: normal;
}
ul.sv_item li p span{
  font-size: 18px;
  color: red;
}
ul.sv_bn{
  padding-top: 20px;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
ul.sv_bn li{
  padding: 0 5px 0;
}
ul.sv_bn li img{
  width: 80%;
}


div.sale_wrap{
  width:100%;
  padding:20px 0 20px;
}
div.sale_text{
  width:100%;
}
div.sale_text h3{
  background:#77b2e9;
  font-size:20px;
  color:#fff;
  padding:15px 0 15px;
}
div.sale_text p{
  line-height:1.5;
  font-size:14px;
  text-align:left;
  margin:0 auto;
  padding:20px;
  box-sizing:border-box;
  color:red;
}
table.sale_tb{
  width:95%;
  margin:0 auto;
  border-collapse:collapse;
  border:1px solid #77b2e9;
}
table.sale_tb th{
  fon-size:16px;
  padding:10px;
  text-align:right;
  width:50%;
  border-collapse:collapse;
  border:1px solid #77b2e9;
}
table.sale_tb td{
  fon-size:16px;
  padding:10px;
  width:50%;
  text-align:left;
  border-collapse:collapse;
  border:1px solid #77b2e9;
}
table.sale_tb td span{
  color:red;
}

div.sale_text2 p{
  border-none;
  line-height:1.5;
  font-size:14px;
  text-align:left;
  margin:0 auto;
  padding:20px;
  box-sizing:border-box;
}






/*contact*/
table.contact_tb{
  width: 90%;
}
table.contact_tb th{
  display: block;
  width: 100%;
  padding: 10px;
  text-align: left;
  background: #77b2e9;
  border-bottom: none;
  border-top: none;
}
table.contact_tb tr:first-child th{
  border-top: 1px solid #77b2e9;
}
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 */
