/*/////////////////////////////////////////////
// スマホ用レイアウト
//////////////////////////////////////////////*/
@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_in{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  padding:10px 0 10px;
}
div.head_logo_area{
width: 60%;
margin:0 auto;
}
div.head_logo_area img{
  width:100%;
}

.globalMenuSp{
  /*display:none;*/
}
/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 13px;
  top   : 13px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #002776;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #000;
  background: #eaeaea;
  height:100%;
  text-align: center;
  transform: translateX(100%);
  transition: all 0.6s;
  width: 100%;
}

nav.globalMenuSp ul {
  display:flex;
  justify-content:flex-start;
  align-items:center;
  flex-direction:column;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  text-align:left;
  list-style-type: none;
  padding: 0;
  padding-left:25px;
  box-sizing:border-box;
  width: 100%;
  border-bottom: 1px solid #fff;
  position:relative;
}
nav.globalMenuSp ul li:before{
  position: absolute;
  top: 25px;
  left: 10px;
  transform: translateY(-50%);
  width: 0px;
  height: 0px;
  border: 0.4em solid transparent;
  border-left: 0.4em solid #002776;
  content: "";
}


nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #000;
  padding: 1em 0;
  text-decoration :none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateX(0%);
}





/*--------------------------------------------------------
key visual
--------------------------------------------------------*/
div.top_kv{
  margin: 0px auto 0;
  padding:40px 0 40px;
}
.top_kv_in{
width: 90%;
margin: 0 auto;
}
.top_kv_in h1 img{
width: 100%;
display: block;
}
.top_kv_in h2 img{
width: 40%;
display: block;
margin: 10% 0 0 0;
}

.t_banner{padding:0 15px 0;}
.t_banner img{width: 100%;}


/*--------------------------------
cta
---------------------------------*/
div.cta{
  padding:20px 0px 0;
  box-sizing:border-box;
}
div.cta_in{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  padding:20px;
  box-sizing:border-box;
}
div.cta_l{
  width:100%;
  padding-right:0px;
  padding-bottom:10px;
}
div.cta_r{
  width:100%;
  padding-left:0px;
}
div.cta a{
  transition: all 0.7s ease;
  display:inline-block;
}
div.cta a:hover{
  opacity:0.7;
}

/*--------------------------------------------------------
フッター
--------------------------------------------------------*/
div.footer{
  margin-top:0px;
  padding-bottom: 85px;
}
.footer_in{
  padding: 7px 0 7px;
  box-sizing: border-box;
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  flex-wrap:wrap;
}
ul.foot_navi{
  width:50%;
  box-sizing:border-box;
  padding:0 0 0 10px;
}
ul.foot_navi li{
  text-align:left;
  padding:0 0 5px 15px;
  box-sizing:border-box;
  position:relative;
}
div.foot_logo{
  width:35%;
  margin:0 auto;
  padding:0px 0 0 0;
}
div.foot_logo img{
  width:100%;
}

ul.foot_navi a{
  font-size:12px;
}
div.copy{
  margin-top: 0px;
  /*border-top: 1px solid #000;*/
  padding: 13px 0 13px;
}
.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: 100%;
   padding:12px 0 12px;
   box-sizing: border-box;
   margin:0 auto;
   text-align: center;
}

.sp_foot_btn{
  display:block;
  width:80%;
  padding:15px;
  font-size:14px;
  color:#fff !important;
  margin: auto;
  background-color: #005aff;
  border: solid 2px #fff;
  -moz-border-radius: 60px;
  -webkit-border-radius: 60px;
  border-radius: 60px;
  box-shadow: 0 0 0 3px #005aff;
  -webkit-box-shadow: 0 0 0 3px #005aff;
  -moz-box-shadow: 0 0 0 3px #005aff;
  transition: all 0.7s ease;
}
.sp_foot_btn:hover{
  opacity:1 !important;
  color:#005aff !important;
  margin: auto;
  background-color: #fff;
  border: solid 2px #fff;
  -moz-border-radius: 60px;
  -webkit-border-radius: 60px;
  border-radius: 60px;
  box-shadow: 0 0 0 3px #005aff;
  -webkit-box-shadow: 0 0 0 3px #005aff;
  -moz-box-shadow: 0 0 0 3px #005aff;
}


/*--------------------------------------------------------
コンテンツ
--------------------------------------------------------*/
div.title_area{

}
div.title_area h2{
  font-size:20px;
}
/*sv*/
ul.sv_list{
  width:100%;
  padding:0 15px 0;
  box-sizing:border-box;
  margin-top:20px;
  display:flex;
  justify-content:space-between;
  align-items:stretch;
  flex-wrap:wrap;
  gap:10px 0;
}
ul.sv_list li{
  width:49%;
  background:#eaeaea;
  padding:0;
  box-sizing:border-box;
  position:relative;
  padding-bottom:50px;
  padding-top:10px;
}
ul.sv_list li h3{
  font-size:16px;
  padding:10px 0 10px;
}
ul.sv_list li img{
  width:70%;
  box-sizing:border-box;
}

div.sv_price{
  width:100%;
}
div.bg_red{
  padding:0;
  font-size:13px;
  min-width:70px;
}
div.bg_gold{
  padding:0;
  font-size:13px;
  min-width:70px;
}
div.sv_price h4{
  padding:0 0 0 20px;
  font-size:14px;
}
div.sv_price h4 span{
  font-size:28px;
}
.fgold h4{
  color:#d1b102 !important;
}

/*about*/
div.about{
  padding:20px 0 10px;
}
div.about_wrap{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-direction:column;
  padding:15px 0 0px;
  box-sizing:border-box;
}
div.about_l,div.about_r{
  width:100%;
  padding:0 15px 0;
  box-sizing:border-box;
}
div.about_r p{
  text-align:left;
  font-size:14px;
  line-height:1.7;
  padding-left:0px;
  padding:15px 0 0 0;
}


/*sv02*/
div.sv02{
  padding:20px 0 0;
}
div.sv_price02{

}
div.sv_price02_tx{

}
div.sv_price02_tx h4{
  font-size:18px;
  padding-top:20px;
}
div.bg_lgreen{
  padding:0 10px 0;
  font-size:14px;
}

/*flow*/
div.flow{
  padding:20px 0 0;
}
div.flow_wrap{
  padding:15px 15px 0;
  box-sizing:border-box;
}
ul.flow_list{
  flex-direction:column;
}
ul.flow_list li{
  padding:0;
  width:100%;
  margin-bottom:20px;
}
ul.flow_list li img{
  width:100%;
}
ul.flow_list li h4{
  font-size:14px;
  padding-top:15px;
}
ul.flow_list li h3{
  font-size:18px;
  padding-bottom:0px;
}
ul.flow_list li p{
  font-size:14px;
  text-align:left;
  width:100%;
  padding:15px;
  box-sizing:border-box;
}
div.sankaku{
  bottom:-70px;
  top:auto;
  left:0;
  right:0;
  transform: translateY(0%);
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  margin:auto;
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid #002776;
}
ul.flow_list li:last-child div.sankaku{
  display:none;
}


/*faq*/
div.faq{
  padding:10px 0 0;
}
div.faq_wrap{
  padding: 0;
}
dl.faq_list{
  margin: 15px auto 0px;
  width:90%;
}
dl.faq_list dt{
  font-size:14px;
  padding:10px;
  margin:5px 0 0px 0px;
}
dl.faq_list dt::before{
  font-size:24px;
  padding: 0 10px 0;
  margin-right: 10px;
}
dl.faq_list dd{
  margin:0px auto;
  padding:10px;
  font-size:14px;
  line-height: 1.7;
}
dl.faq_list dd::before{
  font-size:24px;
  padding: 0 10px 0;
  margin-right: 10px;
}
/*accodion*/
dl.faq_list dt:after {
   top:15px;
   right: 10px;
   bottom:0;
   margin:12px 0 0 0;
}
dl.faq_list dt.ac:after {
   top:25px;
   right: 10px;
}







/*//////////////////////////////////
//下層ページ
//////////////////////////////////*/
div.kv_low{
}
div.low_title{
  padding:30px 0 0px;
}
div.low_title h1{
  font-size: 20px;
}
div.low_title h1:before {
  height: 3px;
}
div.low_contents{
  padding: 20px 0 10px;  
}

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

table.toku_tb th{
  display: block;
  width: 100%;
  padding: 10px;
  color: #fff;
  text-align: left;
  background: #002776;
  border-bottom: none;
  border-top: none;
  border:none;
}
table.toku_tb td{
  display: block;
  border:none;
  width: 100%;
  padding: 10px;
}


dl.privacy_faq dt{
  font-size:14px;
  padding:0 0 5px 0;
}
dl.privacy_faq dd{
  font-size:12px;
  padding:5px 0 20px 0;
}

/*service*/
div.sv_conte{
  padding:0 15px 15px;
  box-sizing:border-box;
}
div.title_area_svlow{
  margin:0 auto 10px;
  padding:12px 0 12px;
}
div.title_area_svlow h2{
  font-size:16px;
}
div.sv_wrap{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:stretch;
  flex-direction:column;
}
div.sv_in_wrap{
  width:100%;
}
div.sv_img_wrap{
  order:1;
  padding:20px 0 20px;
  background:#fff;
}
div.sv_kaitori{
  order:2;
}
div.sv_kaitori h3{
  padding:5px;
  font-size:16px;
  background:#002776;
  border:none;
  color:#fff;
}
div.sv_in_wrap dl{

}
div.sv_in_wrap dl dt,dd{
  font-size: 14px;
}

div.sv_hanbai{
  order:3;
  padding:0 15px 15px;
}
div.sv_hanbai h3{
  font-size:16px;
  background:#000;
  color:#fff;
  border:none;
}
span.sv_kai{
  color:#b81423;
  font-size:20px;
}
span.sv_han{
  font-size:20px;
  color:#005aff;
}
div.sv_btn_wrap{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:10px 0 20px;
}
.sv_btn{
  display:block;
  width:90%;
  padding:12px;
  font-size:18px;
}










/*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;
}

.sv-btn{
  margin: 10px auto;
  width:100%;
  padding: 15px;
  box-sizing: border-box;
  border-radius: 5px;
  background: orange;
  color: #fff;
  font-size: 18px;
  text-align: center;
  transition: 1.0s ;
  border: none;
  box-shadow: 2px 2px 4px #494949;
}
.sv-btn:hover{
  opacity: 0.8;
}

table.order_tb{
  width: 90%;
}
table.order_tb th{
  display: block;
  width: 100%;
  padding: 10px;
  text-align: left;
  color: #fff;
  background: #4bbb57;
  border-bottom: none;
  border-top: none;
}
table.order_tb tr:first-child th{
  border-top: 1px solid #4bbb57;
}
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: #2ab0e7;
  color: #fff;
}
h3.order_title span{
  font-size: 14px;
  color: #fff;
  font-weight: normal;
}
h3.order_title span a{
  color: yellow;
}




div.sale_wrap{
  width:100%;
  padding:20px 0 20px;
}
div.sale_text{
  width:100%;
}
div.sale_text h3{
  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;
}
table.sale_tb th{
  fon-size:16px;
  padding:10px;
  text-align:right;
  width:50%;
  border-collapse:collapse;
}
table.sale_tb td{
  fon-size:16px;
  padding:10px;
  width:50%;
  text-align:left;
  border-collapse:collapse;
}
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;
}
































}
/*end 768 */
