@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:10px !important;}
.ml20{margin-left:20px !important;}
.ml30{margin-left:30px !important;}
.ml40{margin-left:40px !important;}
.ml50{margin-left:50px !important;}

.mr10{margin-right:10px !important;}
.mr20{margin-right:20px !important;}
.mr30{margin-right:30px !important;}
.mr40{margin-right:40px !important;}
.mr50{margin-right:50px !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:10px !important;}
.pl20{padding-left:20px !important;}
.pl30{padding-left:30px !important;}
.pl40{padding-left:40px !important;}
.pl50{padding-left:50px !important;}

.pr10{padding-right:10px !important;}
.pr20{padding-right:20px !important;}
.pr30{padding-right:30px !important;}
.pr40{padding-right:40px !important;}
.pr50{padding-right:50px !important;}

.block_s{
  margin-bottom:60px;
}
.block_m{
  margin-bottom:80px;
}
.block_l{
  margin-bottom:100px;
}

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

body{
  margin:0;
  padding:0;
  text-align:center;
}
#pagetop{
  margin:0;
  padding:0;
}
.for_sp{
  display:none;
}

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

#btn_menu_sp{
  display:none;
}

#gnav{
  width:418px;
  height:36px;
  margin:0 290px 0 0;
  padding:42px 0 0 0;
  line-height:0;
  font-size:1px;
  float:right;
}
#gnav_list{
  margin:0;
  padding:0;
  list-style:none;
}
#gnav_list li{
  margin:0 20px 0 0;
  padding:0;
  float:left;
}
#gnav_list li:nth-child(3n){
  margin:0;
}

#gnav_01{
  width:65px;
  height:36px;
  margin:0;
  background:url(../img/g_nav.png) no-repeat 0 0;
  background-size: 416px;
  display:block;
  text-indent:-9999em;
}
a:hover#gnav_01{
  background:url(../img/g_nav.png) no-repeat 0 -36px;
  background-size: 416px;
}
#gnav_02{
  width:157px;
  height:36px;
  margin:0;
  background:url(../img/g_nav.png) no-repeat -87.5px 0;
  background-size: 416px;
  display:block;
  text-indent:-9999em;
}
a:hover#gnav_02{
  background:url(../img/g_nav.png) no-repeat -87.5px -36px;
  background-size: 416px;
  padding-bottom:23px;
}
#gnav_list li.on a#gnav_02{
  background:url(../img/g_nav.png) no-repeat -87.5px -36px;
  background-size: 416px;
  padding-bottom:23px;
}
#gnav_03{
  width:156px;
  height:36px;
  margin:0;
  background:url(../img/g_nav.png) no-repeat -260px 0;
  background-size: 416px;
  display:block;
  text-indent:-9999em;
}
a:hover#gnav_03{
  background:url(../img/g_nav.png) no-repeat -260px -36px;
  background-size: 416px;
  padding-bottom:23px;
}
#gnav_list li.on a#gnav_03{
  background:url(../img/g_nav.png) no-repeat -260px -36px;
  background-size: 416px;
  padding-bottom:23px;
}

/* -----------------
 sub_nav
-------------------- */

.header_layout{
  width:1040px;
  margin:0 auto;
  padding:0;
  text-align: left;
  box-sizing:border-box;
}

/* --- sub_nav_network --- */

#sub_nav_network{
  width:100%;
  height:50px;
  position:absolute;
  left:0;
  top:100px;
  background-color: #f67b72;
  z-index: 10;
  display: none;
}
#sub_nav_network ul{
  margin: 0;
  padding:0;
  line-height:0;
  font-size:1px;
  list-style:none;
}
#sub_nav_network ul li{
  margin:0;
  padding:0;
  float:left;
}
#sub_nav_network_01{
  width:260px;
  height:50px;
  margin:0;
  background:url(../img/sub_nav_under_01.png) no-repeat 0 0;
  display:block;
  text-indent:-9999em;
}
a:hover#sub_nav_network_01,
span:hover#sub_nav_network_01{
  background:url(../img/sub_nav_under_01.png) no-repeat 0 -50px;
}
#sub_nav_network ul li.on #sub_nav_network_01{
  background:url(../img/sub_nav_under_01.png) no-repeat 0 -50px;
}
#sub_nav_network_02{
  width:260px;
  height:50px;
  margin:0;
  background:url(../img/sub_nav_under_01.png) no-repeat -260px 0;
  display:block;
  text-indent:-9999em;
}
a:hover#sub_nav_network_02,
span:hover#sub_nav_network_02{
  background:url(../img/sub_nav_under_01.png) no-repeat -260px -50px;
}
#sub_nav_network ul li.on #sub_nav_network_02{
  background:url(../img/sub_nav_under_01.png) no-repeat -260px -50px;
}
#sub_nav_network_03{
  width:260px;
  height:50px;
  margin:0;
  background:url(../img/sub_nav_under_01.png) no-repeat -520px 0;
  display:block;
  text-indent:-9999em;
}
a:hover#sub_nav_network_03,
span:hover#sub_nav_network_03{
  background:url(../img/sub_nav_under_01.png) no-repeat -520px -50px;
}
#sub_nav_network ul li.on #sub_nav_network_03{
  background:url(../img/sub_nav_under_01.png) no-repeat -520px -50px;
}

/* --- sub_nav_project --- */

#sub_nav_project{
  width:100%;
  height:50px;
  position:absolute;
  left:0;
  top:100px;
  background-color: #f67b72;
  z-index: 10;
  display: none;
}
#sub_nav_project ul{
  margin: 0;
  padding:0;
  line-height:0;
  font-size:1px;
  list-style:none;
}
#sub_nav_project ul li{
  margin:0;
  padding:0;
  float:left;
}
#sub_nav_project_01{
  width:260px;
  height:50px;
  margin:0;
  background:url(../img/sub_nav_under_02.png) no-repeat 0 0;
  display:block;
  text-indent:-9999em;
}
a:hover#sub_nav_project_01,
span:hover#sub_nav_project_01{
  background:url(../img/sub_nav_under_02.png) no-repeat 0 -50px;
}
#sub_nav_project ul li.on #sub_nav_project_01{
  background:url(../img/sub_nav_under_02.png) no-repeat 0 -50px;
}
#sub_nav_project_02{
  width:260px;
  height:50px;
  margin:0;
  background:url(../img/sub_nav_under_02.png) no-repeat -260px 0;
  display:block;
  text-indent:-9999em;
}
a:hover#sub_nav_project_02,
span:hover#sub_nav_project_02{
  background:url(../img/sub_nav_under_02.png) no-repeat -260px -50px;
}
#sub_nav_project ul li.on #sub_nav_project_02{
  background:url(../img/sub_nav_under_02.png) no-repeat -260px -50px;
}
#sub_nav_project_03{
  width:260px;
  height:50px;
  margin:0;
  background:url(../img/sub_nav_under_02.png) no-repeat -520px 0;
  display:block;
  text-indent:-9999em;
}
a:hover#sub_nav_project_03,
span:hover#sub_nav_project_03{
  background:url(../img/sub_nav_under_02.png) no-repeat -520px -50px;
}
#sub_nav_project ul li.on #sub_nav_project_03{
  background:url(../img/sub_nav_under_02.png) no-repeat -520px -50px;
}
#sub_nav_project_04{
  width:260px;
  height:50px;
  margin:0;
  background:url(../img/sub_nav_under_02.png) no-repeat -780px 0;
  display:block;
  text-indent:-9999em;
}
a:hover#sub_nav_project_04,
span:hover#sub_nav_project_04{
  background:url(../img/sub_nav_under_02.png) no-repeat -780px -50px;
}
#sub_nav_project ul li.on #sub_nav_project_04{
  background:url(../img/sub_nav_under_02.png) no-repeat -780px -50px;
}

.block_sub_nav_under{
  width:100%;
  margin:0;
  padding: 25px 0 15px;
  position:absolute;
  left:0;
  top:50px;
  background-color: #f67b72;
  z-index: 10;
}
#gnav ul li .sub_nav_under ul{
  margin:0 auto;
  padding:0 ;
  padding: 10px 10px 10px;
  font-size:14px;
  line-height:1.2em;
}
#gnav ul li .sub_nav_under ul li{
  margin:0 80px 10px 0;
  padding:0;
  float:left;
  list-style:none;
  color:#fff;
}
#gnav ul li .sub_nav_under ul li a{
  color:#fff;
  text-decoration: none;
}
#gnav ul li .sub_nav_under ul li a:hover{
  text-decoration: underline;
}
#gnav ul li .sub_nav_under ul li i{
  margin-right: 10px;
  font-size:16px;
  font-weight: bold;
  color:#fff;
}
#under01,
#under02,
#under03,
#under04{
  display: none;
}



/* ----------------------------------------------
 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:100%;
	line-height:1.9em;
}
.s{
	margin-bottom: 1em;
	font-size:87.5%;
	line-height:1.9em;
}
.s_mb0{
	font-size:87.5%;
	line-height:1.9em;
}

/* -----------------
 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: 87.5%;
  line-height: 1.4em;
}
h3.icon_h3{
  margin:0 auto 50px;
  padding:0;
  font-size: 150%;
  line-height: 1.4em;
  letter-spacing: 2px;
  text-align: center;
}
h3.icon_h3:after{
  content: "";
  display: block;
  width: 75px;
  height: 2px;
  margin: 10px auto 0;
  background-color: #f67c73;
}
h4{
  margin:0 0 15px;
  padding:3px 0 3px 12px;
  font-size: 112.5%;
  line-height: 1.4em;
  border-left: 4px solid #f67c73;
}

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

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

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

a:hover img.opacity{
	-ms-filter: "alpha( opacity=70 )";
	filter: alpha( opacity=70 );
	opacity: 0.7;
}
a img.opacity {
  -webkit-transition: opacity 0.6s ease-out;
  -moz-transition: opacity 0.6s ease-out;
  -ms-transition: opacity 0.6s ease-out;
  transition: opacity 0.6s ease-out;
}

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

#pagetop{
  padding-top: 100px;
}

header#header_sp{
  display: none;
}

header{
  width: 100%;
  height:100px;
  background-color: rgba(255,255,255,0.8);
  position:fixed;
  z-index: 10;
}
header #inner{
  min-width: 1040px;
  background:url(../img/bg_header.png) repeat-x center top;
  background-size: 1360px;
  height:100px;
  position: relative;
  text-align: right;
}
#logo{
  width:290px;
  position:absolute;
  left:20px;
  top:40px;
}
#logo img{
  width:100%;
}

#btn_header_regi{
  width:110px;
  position:absolute;
  right:150px;
  top:40px;
}
#btn_header_regi img{
  width:100%;
}
#btn_header_contact{
  width:130px;
  position:absolute;
  right:0;
  top:10px;
}
#btn_header_contact img{
  width:100%;
}

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

#block_common{
  min-width:1040px;
  box-sizing: border-box;
  margin:0 auto;
  padding: 70px 0 50px;
}
#block_common h2{
  margin:0 0 25px;
  font-size: 156.3%;
  line-height: 1em;
  text-align: center;
}
#block_common a:hover h3,
#block_common a:hover p{
  text-decoration: underline;
}
#block_common .block_left{
  width:470px;
  margin:0 30px 0 0;
  float:right;
}
#block_common .block_right{
  width:470px;
  margin:0 0 0 30px;
  position: relative;
  float:left;
}
#block_common .icon{
  width:106px;
  margin:0;
  float:left;
}
#block_common .icon img{
  width:100%;
}
#block_common .text{
  width:330px;
  margin:0;
  text-align: left;
  float:right;
  position: relative;
}
#block_common .text h3{
  margin:0 0 15px;
  font-size: 16px;
  line-height: 1.2em;
}
#block_common .text p{
  width:260px;
  margin:0;
  font-size: 13px;
  line-height: 1.6em;
}
#block_common .text img{
  width:31px;
  position:absolute;
  right:0;
  bottom:-10px;
}
#block_common #block_pk{
  width:50%;
  height:180px;
  margin:0;
  padding-top: 38px;
  background-color: #ffd9de;
  float:left;
  box-sizing: border-box;
}
#block_common #block_ye{
  width:50%;
  height:180px;
  margin:0;
  padding-top: 38px;
  background-color: #fffab2;
  float:left;
  box-sizing: border-box;
}
#block_common #block_bl{
  width:50%;
  height:180px;
  margin:0;
  padding-top: 38px;
  background-color: #cce7ff;
  float:left;
  box-sizing: border-box;
}
#block_common #block_gr{
  width:50%;
  height:180px;
  margin:0;
  padding-top: 38px;
  background-color: #c2f3ef;
  float:left;
  box-sizing: border-box;
}

footer{
  min-width: 1040px;
  min-height:308px;
  margin:0 auto;
  background:url(../img/bg_footer.png) no-repeat center top;
}
footer .layout{
  text-align: center;
}

footer .layout #btn_pagetop{
  width:60px;
  position:absolute;
  right:0;
  top:0;
}
footer .layout #btn_pagetop img{
  width:100%;
}

footer #link_area{
  width:760px;
  margin:0 auto 50px;
  padding-top: 50px;
}
footer ul{
  margin:0 auto;
  padding:0 20px;
  list-style:none;
  font-size:11px;
  line-height:1.2em;
  float:left;
  text-align: left;
}
footer ul li{
  width:150px;
  margin:0;
  padding:0;
  border-bottom: 1px solid #f5d68c;
}
footer ul li:first-child{
  border-top: 1px solid #f5d68c;
}
footer ul li a{
  margin:0;
  padding:10px 0;
  display: block;
}
footer ul li a:hover{
  text-decoration: none;
}
footer ul li span{
  margin:0 5px 0 0;
  font-size:68.8%;
}

footer .layout #footer_logo{
  width:290px;
  margin:0 auto 30px;

}
footer .layout #footer_logo img{
  width:100%;
}

footer .layout p{
  font-size: 75%;
  line-height: 1em;
  margin:0;
}

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

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

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

#block_description{
  width:800px;
  margin:0 auto 70px;
  text-align: center;
}
#block_description p{
  margin:0;
  font-size: 16px;
  line-height: 44px;
  font-weight: bold;
  letter-spacing: 2px;
  background:url(../img/bg_block_description.png) no-repeat center top;
}
#block_description_noline{
  margin:0 auto 85px;
  text-align: center;
}
#block_description_noline p{
  margin:0;
  font-size: 16px;
  line-height: 1.8em;
  font-weight: bold;
  letter-spacing: 2px;
}

#sub_nav_pc{
  margin:0 0 70px;
  padding-top: 15px;
}
#sub_nav_pc ul{
  margin:0;
  padding:0;
  list-style:none;
  font-size:1px;
  line-height:0;
  text-align: center;
}
#sub_nav_pc ul li{
  width:350px;
  margin:0 10px;
  padding:0;
  display: inline-block;
}
#sub_nav_pc ul li img{
  width:100%;
}

#sub_nav_sp{
  display: none;
}

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;
  font-size:100%;
}
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 40px;
  padding:0;
  font-size:87.5%;
  line-height:1.4em;
  border-collapse: collapse;
}
.table_form th{
  width:200px;
  margin:0;
  padding:20px;
  text-align:left;
  vertical-align:middle;
  border-bottom:solid 1px #b0afb3;
}
.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: 15px;
  font-size: 12px;
  line-height: 1.6em;
  font-weight: normal;
  display: block;
}
.table_form td{
  margin:0;
  padding:20px 20px 20px 0;
  border-bottom:solid 1px #b0afb3;
}

.input_100{
  width:100%;
  padding:10px;
  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:150px;
  padding:10px;
  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:250px;
  margin:0 auto;
}
#btn_form_01 li img{
  width:100%;
}
#btn_form_01 li button{
  cursor: pointer;
}

#btn_form_02{
  width:530px;
  margin:0 auto;
  padding:0; 
  list-style:none;
  font-size:1px;
  line-height:0;
  text-align: center;
}
#btn_form_02 li{
  width:250px;
  margin:0;
  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{
  width:1040px;
  box-sizing: border-box;
  margin:63px auto 80px;
}
#block_news h2{
	color: #F67C73;
	text-align: center;
	border-bottom: 3px solid #F67C73;
	padding: 0 10px 5px;
}
#block_news h2.detail{
	text-align: left;
	margin-bottom: 1em;
}
#block_news dl{
	margin: 0;
}
#block_news dt,#block_news dd{	
	padding: 1em 10px 0.8em;
}
#block_news dt{
	font-weight: bold;
	float: left;
}
#block_news dd{
	margin-inline-start: 0;
	padding-left: 11em;
	border-bottom: 1px solid #ccc;
}
#block_news .news-link{
	text-align: center;
	margin-top: 1em;
}
#block_news .post{
	margin: 0 10px 30px;
}
