@charset "UTF-8";

/* -----------------
 margin/padding
-------------------- */

.mb0{margin-bottom:0 !important;}
.mb0_02{margin-bottom:0 !important;line-height:0em;font-size:1px;}
.mb10{margin-bottom:10px !important;}
.mb20{margin-bottom:20px !important;}
.mb30{margin-bottom:30px !important;}
.mb40{margin-bottom:40px !important;}
.mb50{margin-bottom:50px !important;}
.mb60{margin-bottom:60px !important;}
.mb70{margin-bottom:70px !important;}
.mb80{margin-bottom:80px !important;}

.ml10{margin-left:2% !important;}
.ml20{margin-left:3% !important;}
.ml30{margin-left:5% !important;}
.ml40{margin-left:6% !important;}
.ml50{margin-left:8% !important;}

.mr10{margin-right:2% !important;}
.mr20{margin-right:3% !important;}
.mr30{margin-right:5% !important;}
.mr40{margin-right:6% !important;}
.mr50{margin-right:8% !important;}

.pb0{padding-bottom:0 !important;}
.pb10{padding-bottom:10px !important;}
.pb20{padding-bottom:20px !important;}
.pb30{padding-bottom:30px !important;}
.pb40{padding-bottom:40px !important;}
.pb50{padding-bottom:50px !important;}
.pb60{padding-bottom:60px !important;}
.pb70{padding-bottom:70px !important;}
.pb80{padding-bottom:80px !important;}

.pt0{padding-top:0 !important;}
.pt10{padding-top:10px !important;}
.pt20{padding-top:20px !important;}
.pt30{padding-top:30px !important;}
.pt40{padding-top:40px !important;}
.pt50{padding-top:50px !important;}
.pt60{padding-top:60px !important;}
.pt70{padding-top:70px !important;}
.pt80{padding-top:80px !important;}

.pl10{padding-left:2% !important;}
.pl20{padding-left:3% !important;}
.pl30{padding-left:5% !important;}
.pl40{padding-left:6% !important;}
.pl50{padding-left:8% !important;}

.pr10{padding-right:2% !important;}
.pr20{padding-right:3% !important;}
.pr30{padding-right:5% !important;}
.pr40{padding-right:6% !important;}
.pr50{padding-right:8% !important;}

.block_s{
  margin-bottom:30px;
}
.block_m{
  margin-bottom:60px;
}
.block_l{
  margin-bottom:90px;
}

/* -----------------
 base
-------------------- */

body{
  margin:0;
  padding-top: 0;
  text-align:center;
  -webkit-text-size-adjust:100%;
}
.for_pc{
  display:none;
}

/* -----------------
 gnav
-------------------- */

#btn_menu_sp{
  width:36px;
  height:29px;
  position:absolute;
  top:20px;
  right:4%;
  cursor:pointer;
  z-index: 100;
}
.btn_menu_open {
  background: url(../img/btn_menu_sp.png) no-repeat left top;
  background-size: cover;
}
.btn_menu_close {
  background: url(../img/btn_menu_close_sp.png) no-repeat left top;
  background-size: cover;
}

#gnav_sp{
  visibility: hidden;
  width: 100%;
  height: 100%;
  left: 0;
  top: 60px;
  position: fixed;
  margin: 0;
  padding: 0;
  text-align: left;
  overflow-y: auto;
  z-index: -5000;
}
#gnav_sp.open{
  width: 100%;
  height: 100%;
  visibility: visible;
  background: rgba(0, 0, 0, 0.7);
  z-index: 5000;
}

#gnav_sp_list{
  width: 90%;
  margin: 0 0 60px;
  padding: 0;
  background: #f9f9f9 ;
  float: right;
  -webkit-transform: translate(100%, 0);
  -ms-transform: translate(100%, 0);
  -o-transform: translate(100%, 0);
  transform: translate(100%, 0);
  -webkit-transition: all 0.5s 0s;
  -moz-transition: all 0.5s 0s;
  transition: all 0.5s 0s;
}
#gnav_sp.open #gnav_sp_list{
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: all 0.5s 0s;
  -moz-transition: all 0.5s 0s;
  transition: all 0.5s 0s;
}
#gnav_sp_list li{
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
#gnav_sp_list li a,
#gnav_sp_list li span{
  display:block;
  margin:0;
  padding:20px 4%;
  color:#000;
  text-decoration:none;
  font-size:18px;
  line-height:1.2em;
  border-bottom:1px solid #ccc;
  letter-spacing: 1px;
}
#gnav_sp_list li i{
  margin:0 10px 0 0;
  font-size:22px;
  color:#f67c73;
}

#gnav_sp_list li ul{
  margin:0;
  padding:0;
  list-style:none;
  background-color: rgba(246,123,114,0.2);
  display: none;
}
#gnav_sp_list li ul li{
  margin:0;
  padding:0;
}
#gnav_sp_list li ul li a,
#gnav_sp_list li ul li span{
  padding:20px 4% 20px 8%;
  font-size:16px;
  border-bottom:1px solid #fff;
}

#gnav_sp_list li ul li ul{
  margin:0;
  padding:0;
  list-style:none;
  background-color: rgba(246,123,114,0.2);
  display: none;
}
#gnav_sp_list li ul li ul li{
  margin:0;
  padding:0;
}
#gnav_sp_list li ul li ul li a,
#gnav_sp_list li ul li ul li span{
  padding:0px 4% 30px 12%;
  font-size:16px;
  border-bottom:none;
}
#gnav_sp_list li ul li ul li:first-child a,
#gnav_sp_list li ul li ul li:first-child span{
  padding-top:25px;
}
#gnav_sp_list li ul li ul li:last-child a,
#gnav_sp_list li ul li ul li:last-child span{
  padding-bottom:25px;
}

#gnav_sp_list li a.gnav_sp_open{
  background: url(../img/icon_nav_open_sp.png) no-repeat 96% center;
  background-size: 20px;
}
#gnav_sp_list li a.gnav_sp_close{
  background: url(../img/icon_nav_close_sp.png) no-repeat 96% center;
  background-size: 20px;
}
#gnav_sp_list li a.gnav_sp_open_02{
  background: url(../img/icon_nav_open_sp.png) no-repeat 96% center;
  background-size: 20px;
}
#gnav_sp_list li a.gnav_sp_close_02{
  background: url(../img/icon_nav_close_sp.png) no-repeat 96% center;
  background-size: 20px;
}

#gnav_sp_list li#gnav_sp_colse_btn{
  width: 30px;
  margin: 0 auto;
  border-bottom: none;
  text-align: center;
}
#gnav_sp_list li#gnav_sp_colse_btn a{
  background:none;
}
#gnav_sp_list li#gnav_sp_colse_btn img{
  width: 100%;
}

/* ----------------------------------------------
 common
------------------------------------------------- */


/* -----------------
 font
-------------------- */
*{
  font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック体","Yu Gothic",YuGothic,Osaka,'メイリオ',Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
.ming{
 font-family: "ヒラギノ明朝 Pro W3","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
}

.m{
  margin-bottom: 1em;
  font-size:16px;
  line-height:2em;
}
.s{
  margin-bottom: 1em;
  font-size:14px;
  line-height:2em;
}
.s_mb0{
  font-size:14px;
  line-height:2em;
}

/* -----------------
 headline
-------------------- */

h1{
  margin:0;
  padding:0;
  font-size: 1px;
  line-height: 0;
}
h2{
  margin:0;
  padding:0;
  letter-spacing: 2px;
}
h3{
  margin:0 0 10px;
  padding:0;
  font-size: 14px;
  line-height: 1.4em;
}
h3.icon_h3{
  max-width:96%;
  margin:0 auto 30px;
  padding:0 0 10px;
  font-size: 20px;
  line-height: 1.4em;
  letter-spacing: 1px;
  text-align: center;
  box-sizing: border-box;
}
h3.icon_h3:after{
  content: "";
  display: block;
  width: 75px;
  height: 2px;
  margin: 10px auto 0;
  background-color: #f67c73;
}
h4{
  width:96%;
  margin:0 auto 15px;
  padding:3px 0 3px 12px;
  font-size: 16px;
  line-height: 1.4em;
  border-left: 4px solid #f67c73;
  box-sizing: border-box;
}

/* -----------------
 link
-------------------- */

a{
  color:#000;
  outline: none;
  text-decoration:none;
}

a.link_underline{
  color:#f67c73;
  text-decoration:none;
}

/* -----------------
 layout
-------------------- */

#pagetop{
  padding-top: 60px;
}
header#header{
  display: none;
}

header#header_sp{
  width: 100%;
  height:60px;
  background-color: rgba(255,255,255,0.8);
  position:fixed;
  z-index: 10;
}
header#header_sp #inner_sp{
  width: 100%;
  background:url(../img/bg_header_sp.png) repeat-x center top;
  background-size: 320px;
  height:100px;
  position: relative;
}
#logo_sp{
  width:220px;
  margin:0 0 0 10px;
  padding:20px 0 0;
}
#logo_sp img{
  width:100%;
}

article{
  width:100%;
  margin:0;
}
.layout{
  width: 100%;
  margin:0 auto;
  text-align: left;
  position: relative;
}

#block_common{
  width: 100%;
  box-sizing: border-box;
  margin:0 auto;
  padding: 70px 0 50px;
}
#block_common h2{
  margin:0 0 20px;
  font-size: 18px;
  line-height: 1em;
  text-align: center;
}
#block_common .block_left{
  width: 96%;
  margin:0;
  padding:10% 2% 0;
}
#block_common .block_right{
  width: 96%;
  margin:0;
  padding:10% 2% 0;
}
#block_common .icon{
  width: 20%;
  margin:0 0 10%;
  float:right;
}
#block_common .icon img{
  width:100%;
}
#block_common .text{
  width: 75%;
  margin:0 0 10%;
  text-align: left;
  float:left;
}
#block_common .text h3{
  margin:0 0 12px;
  font-size: 16px;
  line-height: 1.2em;
}
#block_common .text p{
  width: 100%;
  margin:0;
  font-size: 13px;
  line-height: 1.6em;
}
#block_common .text img{
  width:25px;
  position:absolute;
  right:4%;
  bottom:5%;
}
#block_common #block_pk{
  width:100%;
  margin:0;
  background-color: #ffd9de;
  position: relative;
}
#block_common #block_ye{
  width:100%;
  margin:0;
  background-color: #fffab2;
  position: relative;
}
#block_common #block_bl{
  width:100%;
  margin:0;
  background-color: #cce7ff;
  position: relative;
}
#block_common #block_gr{
  width:100%;
  margin:0;
  background-color: #c2f3ef;
  position: relative;
}

footer{
  width: 100%;
  margin:0 auto;
}
footer .layout{
  text-align: center;
}

footer .layout #btn_pagetop{
  width:100;
  margin:0 0 0px;
  background:url(../img/bg_pagetop_sp.png) repeat;
  font-size: 16px;
}
footer .layout #btn_pagetop a{
  padding:20px 0;
  color:#fff;
  display: block;

}
footer .layout #btn_pagetop span{
  margin:0 10px 0 0;
  font-size: 18px;
  letter-spacing: 2px;
}

footer #link_area{
  width: 100%;
  margin:0 auto;
  background-color: #fff9e7;
}
footer ul{
  margin:0 auto;
  padding:0;
  list-style:none;
  font-size:14px;
  line-height:1.2em;
  text-align: left;
}
footer ul:first-child{
  border-top: 1px solid #f5d68c;
}
footer ul li{
  width: 96%;
  margin:0;
  padding:0 2%;
  border-bottom: 1px solid #f5d68c;
}
footer ul li a{
  margin:0;
  padding:20px 0;
  display: block;
}
footer ul li span{
  margin:0 7px 0 0;
  font-size:12px;
}

footer .layout #footer_logo{
  width:100%;
  margin:0;
  padding:50px 0 30px;
  background-color: #fff9e7;

}
footer .layout #footer_logo img{
  width:290px;
}

footer .layout p{
  width:96%;
  font-size: 12px;
  line-height: 1.2em;
  margin:0 auto;
  padding: 0 2% 10px;
  background-color: #fff9e7;
}


/* -----------------
 sub
-------------------- */

.w96{
  width:96%;
  margin:0 auto;
}

#sub_mainimg{
  width:100%;
  height:120px;
  margin:0 auto 18px;
  text-align: center;
  background:url(../img/bg_sub_mainimg.jpg) no-repeat center top;
  background-size: cover;
}
#sub_mainimg h2{
  width:96%;
  margin:0 auto;
  padding-top: 55px;
  font-size: 20px;
  line-height: 1em;
  letter-spacing: 4px;
}

#topic_path{
  width:96%;
  margin:0 auto 30px;
  padding:0;
  list-style:none;
  font-size:68.8%;
  line-height:2em;
}
#topic_path li{
  margin:0 10px 0 0;
  padding:0;
  float:left;
}
#topic_path li a{
  color:#f67c73;
}

#block_description{
  width:96%;
  margin:0 auto 30px;
  text-align: center;
}
#block_description p{
  margin:0;
  padding-bottom: 10px;
  font-size: 15px;
  line-height: 44px;
  font-weight: bold;
  letter-spacing: 2px;
  background:url(../img/bg_block_description.png) no-repeat center top;
}
#block_description_noline{
  width:96%;
  margin:0 auto 30px;
  text-align: left;
}
#block_description_noline p{
  margin:0;
  font-size: 15px;
  line-height: 30px;
  font-weight: bold;
  letter-spacing: 2px;
}

#sub_nav_pc{
  display: none;
}

#sub_nav_sp{
  margin:40px 0 0;
}
#sub_nav_sp ul{
  width: 100%;
  margin:0;
  padding:0;
  border-top: 1px solid #ddd;
}
#sub_nav_sp ul li{
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
#sub_nav_sp ul li a{
  display:block;
  margin:0;
  padding:20px 4%;
  color:#000;
  text-decoration:none;
  font-size:16px;
  line-height:1.2em;
  border-bottom:1px solid #ddd;
}
#sub_nav_sp ul li a span.arrow{
  margin:0 10px 0 0;
  font-size:22px;
  color:#f67c73;
}
#sub_nav_sp ul li.active a{
  color:#fff;
  background:url(../img/bg_pagetop_sp.png) repeat;
}
#sub_nav_sp ul li.active a span.arrow{
  color:#fff;
}

input[type="text"],
input[type="email"],
button,
textarea{
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type="text"],
input[type="email"],
textarea{
  outline: none;
  border: 1px solid #b0afb3;
  -webkit-transition: all .3s;
  transition: all 0.5s;
  background-color: #fff;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
}
input:focus,
textarea:focus{
  border: 1px solid #b0afb3;
  background-color: #fee8e6;
}
::-webkit-input-placeholder {
  color: #ccc;
}
::-moz-placeholder {
  color: #ccc; opacity: 1;
}
:-ms-input-placeholder {
  color: #ccc;
}

.table_form{
  width:100%;
  margin:0 0 10px;
  padding:0;
  font-size:14px;
  line-height:1.4em;
  border-collapse: collapse;
}
.table_form th{
  margin:0;
  padding:0;
  text-align:left;
  vertical-align:middle;
  display: block;
}
.table_form th span.required{
  margin-left: 10px;
  padding:3px 1em;
  font-size: 12px;
  line-height: 1em;
  color:#fff;
  background-color: #fd1400;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  display: inline-block;
}
.table_form th span.supplement{
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.6em;
  font-weight: normal;
  display: block;
}
.table_form td{
  margin:0;
  padding:10px 0 30px ;
  display: block;
}

.input_100{
  width:96%;
  padding:10px 2%;
  box-sizing:border-box;
}
.input_01{
  width:100%;
  margin:5px 0 15px;
  padding: 10px;
  box-sizing:border-box;
}
.input_01:last-child{
  margin:5px 0 0;
  box-sizing:border-box;
}
.input_02{
  width:40%;
  margin:5px 0 15px;
  padding: 10px;
  box-sizing:border-box;
}
.text_100{
  width:100%;
  height:100px;
  padding:10px 2%;
  box-sizing:border-box;
}
.radio{
  margin-right: 1em;
  margin-bottom: 30px;
}
.radio:nth-of-type(2){
  margin-right: 1em;
  margin-left: 3em;
}

#btn_form_01{
  margin:0;
  padding:0; 
  list-style:none;
  font-size:1px;
  line-height:0;
  text-align: center;
}
#btn_form_01 li{
  width:48%;
  margin:0 auto;
}
#btn_form_01 li img{
  width:100%;
}

#btn_form_02{
  margin:0 auto;
  padding:0; 
  list-style:none;
  font-size:1px;
  line-height:0;
  text-align: center;
}
#btn_form_02 li{
  width:48%;
  margin:0 1%;
  float:left;
}
#btn_form_02 li:last-child{
  float:right;
}
#btn_form_02 li img{
  width:100%;
}

.text_pink{
  color:#f67c73;
}
.bold{
  font-weight: bold;
}


/* -----------------
 news
-------------------- */
#block_news{
  box-sizing: border-box;
  margin:40px auto 80px;
}
#block_news h2{
  color: #F67C73;
	text-align: center;
	border-bottom: 3px solid #F67C73;
	padding:0 4% 5px;
}
#block_news h2.detail{
	text-align: left;
	margin-bottom: 1em;
}
#block_news dl{
	margin: 0;
}
#block_news dt,#block_news dd{
	font-size: 85%;
}
#block_news dt{
	font-weight: bold;
	padding: 1em 2% 0;
}
#block_news dd{
	margin-inline-start: 0;
	border-bottom: 1px solid #ccc;
	padding: 0.5em 2% 1em;
}
#block_news .news-link{
	text-align: center;
	margin-top: 1em;
}
#block_news .news-link a{
	display: inline-block;
	width: 180px;
}
#block_news .news-link a img{
	width: 100%;
	height: auto;
}
#block_news .post{
	margin: 0 4% 30px;
}
