@charset "UTF-8";
/* CSS Document */
main{min-height:500px;}
body,h1,h2,h3,p{
margin:0;
padding:0;
-webkit-font-smoothing: antialiased;
/*font-family: 'Rounded Mplus 1c',"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; */
font-family: 'M+ C Type-1 (basic latin) Regular', 'M+ Type-1 (general-j) Regular', sans-serif;
}

*,
*:before,
*:after{
	box-sizing:border-box;
}
a {
	color: #333;
	text-decoration: none;
	outline: none;
	-webkit-transition: all 0.3s ease;
}
a:visited {
	outline: none;
}
a:hover {
	/*color: #ccc;*/
	outline: none;
}
a:focus,
a:active {
	color: #ccc;
	outline: none;
}
input:focus,
input:active {
	outline: none;
}
article{
	margin:0 auto;
	overflow: hidden;
}
.article_inner{
	max-width:1100px;
	padding:15px;
	margin:0 auto;
	overflow: hidden;
}
.sp_on{
	display:block;
}
.sp_none{
	display:none;
}
.pc_on{
	display:none;
}
.center_block{
	display:block;
	margin:0 auto;
}
.clearfix:after{
	display: block;
	content:"";
	clear:both;
}
.center_text{
	text-align:center;
}
.left_text{
	text-align:left;
}
.pad_0{
	padding:0;
}
.pad_5{
	padding:5px;
}
.pad_10{
	padding:10px;
}
.pad_15{
	padding:15px;
}
.mgt_10{
	margin-top:10px;
	}
.mgt_20{
	margin-top:20px;
	}
.mgt_30{
	margin-top:30px;
	}
.mgr_10{
	margin-right:10px;
	}
.mgb_10{
	margin-bottom:10px;
	}
.mgb_15{
	margin-bottom:15px;
	}
.mgb_20{
	margin-bottom:20px;
	}
.mgb_30{
	margin-bottom:30px;
	}
.mgb_40{
	margin-bottom:40px;
	}
.bgc_trcp{
	background-color:transparent;
}
.bgc_wh{
	background-color:#fff;
}
.syadou{
	text-shadow:0px 0px 7px black;
}

.syadou_wh{
	text-shadow:0px 0px 7px white;
}
.syadou_blue{
	text-shadow:0px 0px 10px #000;
}

.inner{
	max-width:1200px;
	margin:0 auto;
	}
/*-----------------------上へ戻るボタン*/
a.topBtn {
  display: none !important;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  background: #fff;
  border-radius: 0px;
  color: #888;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 10000;
  width: 38px;
  height: 38px;
  padding-top: 6px;
}

@media (min-width: 768px) {
	.sp_none{
		display:block;
}
  a.topBtn {
		display: inline-block !important;
		width: 46px;
		height: 46px;
		padding-top: 10px;
	  }
}
section.myModal{
	float:right;
	position:fixed;
	right:0;
}

.nav_icon img,
.sp_close img{
	width:100%;
	height:auto;
}
#wrapper{
	width:100%;
	overflow:hidden;
}

.swiper-container{	
	line-height:0;
}
/*スライドの中のロゴ指定*/
.center_logo{
	position: absolute;
	width:50%;
	max-width:400px;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	z-index: 3001;
}
.center_logo img{
	width:100%;
	height:auto;
}

.header_waku{
	position: fixed;
	position: absolute;
	top:0;
	left:0;
	z-index:9999;
	overflow: hidden;
	width:100%;
	height:56px;
}
/*headerここまで*/



/*articleここから*/
/*cardここから*/

.card{
	width:100%;
	font-size:13px;
	line-height:22px;
	padding:20px;
	border:1px solid #ddd;
	margin-bottom:20px;
	background-color:#fff;
}
.col_03:after,.col_02:after{
	display:block;
	content:"";
	clear:both;
	}

/*.col_02のspはwidth100%だから指定なし*/
/*.col_03のspはwidth100%だから指定なし*/

.col_04{
	box-sizing: border-box;
	float:left;
	width:50%;
	padding:0;
}
.min_h40{
	overflow: hidden;
	height:45px;
	/*background:red;*/
}

/*cardのpattern_04*/
.pattern_04{
	position:relative;
}
 a .pattern_04:hover{
	opacity:0.7;
	transition: .3s;
}
.pattern_04 > div:first-child{
	width:100%;
	min-width:150px;
	min-height:160px;
	float:left;
	margin-right:0;
}
.pattern_04 .image{
	background-color:#000;
	width:auto;
	height:140px;
	overflow:hidden;
}
.pattern_04 .image img{
	opacity: 0.8;
	object-fit: cover;
	width:100%;
	height:100%;
}
.pattern_04 h3{
	font-size:16px;
	line-height:170%;
}
.pattern_04 h3{
	font-size:22px;
	line-height:0.6;
}
.pattern_04 .textbox{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:100%;
	text-align:center;
	color:#fff;
}
.pattern_04 .textbox i{
	padding-top:10px;
}


/*#content01のpattern_03*/
#content01 .respons_img{
	height:180px;
	object-fit: cover;
}
#content01 .textbox_honbun{
	height:80px;
	overflow:hidden;
	/*background-color:red;*/
}

/*#content02のcol4*/
#content02 .respons_img{
	height:150px;
	object-fit: cover;
}
#content02 .textbox{
	padding:10px 10px 0;
}
#content02 .textbox_honbun{
	height:100px;
	overflow:hidden;
/*background-color:red;*/
}
@media (min-width:767px){
	#content01 .textbox_honbun{
	margin-bottom:20px;
}

}


/*#content03のcol2*/

#content03 .waku{
	width:100%;
	position: relative;
}
#content03 .textbox{
	position: absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:90%; 
	background-color:rgba(255,255,255,0.50);
	padding:10px;
	font-size:13px;
}
#content03 .textbox_honbun{
	max-height:40px;
	overflow:hidden;
}


/*#content04のcol2*/

#content04 .waku{
	width:100%;
	position: relative;
}
#content04 .textbox{
	position: absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:90%; 
	background-color:rgba(255,255,255,0.50);
	padding:10px;
	font-size:13px;
}
#content04 .textbox_honbun{
	max-height:40px;
	overflow:hidden;
}



/*Q&A@mediaなし*/

.qa_q::before{
	content:'Q ';
	font-size:40px;
	font-family: 'Cardo', serif;
	color:#2aaae2;
}
.qa_a::before{
	content:'A ';
	font-size:40px;
	font-family: 'Cardo', serif;
	color:#ff73e0;	
}
.qa_a{
	text-indent:-40px;
	padding-left:40px;
}
.qa_waku{
	border-bottom:1px dotted #aaa;
	padding-bottom:20px;
	margin-bottom:20px;
}
.qa_waku:last-child{
	border-bottom:none;
	padding-bottom:0;
	margin-bottom:0;
}

/*Q&A@mediaなし02*/

dt::before{
	content:'Q ';
	font-size:40px;
	font-family: 'Cardo', serif;
	color:#2aaae2;
}
dt::after{
	content:'　\f107';
	font-size:16px;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	color:#2aaae2;
	position: absolute;
	top:30px;
	right:0;
}
dd::before{
	content:'A ';
	font-size:40px;
	font-family: 'Cardo', serif;
	color:#ff73e0;	
}
.panel > dt {
  border-bottom:1px dotted #aaa;
  cursor: pointer;
  padding: 10px;
}
 
.panel > dd {
  margin: 0 0 10px 12px;
  padding: 10px;
	text-indent:-40px;
	padding-left:40px;
}
.panel{
	max-width:800px;
	margin:20px auto;
	position: relative;	
}
@media (min-width:768px){
	
/*#content03のcol2*/
	#content03 .waku{
	width:100%;
	position:relative;
	height:280px;
	}
#content03 img{
	width:100%;
	height:280px;
	object-fit: cover;
	float:left;
	}

#content03 .textbox{
	position: absolute;
	top:50%;
	left:50%;
	transform:translate(0%,-50%);
	box-sizing: border-box;
	padding-left:30px;
	font-size:90%;
	width:50%;
	background-color:transparent;
}	

	
/*#content04のcol2*/
#content04 .waku{
	width:100%;
	position:relative;
	height:280px;
	}	
#content04 img{
	width:100%;
	height:280px;
	object-fit: cover;
	}	
#content04 .textbox{
	position:static;
	top:0;
	left:0;
	transform:translate(0%,50%);
	width:50%;
	padding-right:30px;
	font-size:90%;
	background-color:transparent;
}	

	

.sp_on{
	display:none;
}
.pc_on{
	display:block;
}

	
/*2カラム*/
.col_02{
	box-sizing: border-box;
	width:50%;
	float:left;
	padding:0;
}
	
/*3カラム*/
	
/*ノーマル*/
.col_03{
	box-sizing: border-box;
	width:32%;
	float:left;
	padding:15px;
	margin-right:2%;
}
.col_03:last-child{
	margin-right:0;
	}
	
/*4カラム*/
.col_04{
	box-sizing: border-box;
	width:25%;
	float:left;
	padding:0 5px;
}
.pad_0{
	padding:0;	
	}	
/*cardここから*/
	
.card{
	font-size:14px;
	line-height:24px;
}
.card h3{
	font-size:17px;
	margin:10px 0 5px;
}	
	
	
.pattern_02 > div:first-child{
	width:100%;
	min-height:15vw;
	float:none;
	padding:15px;
	margin-right:0;
}
.pattern_02 h3{
	font-size:17px;
}
.pattern_02 .textbox{
/*	background-color:red;*/
	float:none;
	width:100%;
	margin-left:0;
	padding-left:0;
}	
	
}	

	
/*cardのpattern_04*/	
.pattern_04 > div:first-child{
	min-height:200px;
}	
	
.text_left{
	text-align:left;
}
.text_right{
	text-align:right;
}
.sankaku .waku {
	margin-top:-18px;
/*	background:#fff url(../img/sankaku.png) no-repeat top right ;*/
	
}
.sankaku .textbox{
	padding-top:18px;
}
 a .textbox:hover{
	opacity:0.6;
	transition: .3s;
}

.textbox_honbun{
	max-height:45px;
	overflow:hidden;
}





/*ポップアップここから-----------------------------------------------------------------*/
		#layer{
			display:none;
			position:fixed;
			left:0;
			top:0;
			width:100%;
			height:100%;
			background-color:black;
			opacity:0.2;
		}
		#popup{
			display:none;/*初期表示は非表示*/
			position:fixed;
			left:50%;
			top:50%;
			width:300px;
			height:200px;
			margin-left:-150px;
			margin-top:-100px;
			background-color:white;
			border-radius:5px;
			text-align:center;
		}
		.btn_popup{
			width:200px;
			height:50px;
			background:#aaa;
			color:#fff;
			font-size:14px;
		}

/*ポップアップここまで-----------------------------------------------------------------*/


/*モーダルここから-----------------------------------------------------------------*/
.myModal_popUp,
input[name="myModal_switch"],
#myModal_open + label ~ label{
	display:none;
}
#myModal_open + label,
#myModal_close-button + label{
	cursor:pointer;
}

.myModal_popUp{
	animation: fadeIn 1s ease 0s 1 normal;
	-webkit-animation: fadeIn 1s ease 0s 1 normal;
}
#myModal_open:checked ~ #myModal_close-button + label{
	animation:fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn{
	0%{opacity: 0;}
	100%{opacity: 1;}
}
@-webkit-keyframes fadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
#myModal_open:checked + label ~ .myModal_popUp{
	background:#fff;
	display:block;
	width:90%;
	height:80%;
	position:fixed;
	top:50%;
	left:50%;	
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform:translate(-50%,-50%);
/*	z-index: 998;*/
	z-index:2000;
}
#myModal_open:checked + label ~ .myModal_popUp > .myModal_popUp-content{	
	width:calc(100%);
	height:calc(100% - 20px - 44px);
	padding:10px 16px;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
    font-size: 12px;
}
.header_waku .myModal_popUp-content{
/*	line-height:2;*/
}
.header_waku .myModal_popUp-content i
{
	font-size:20px;
}
#myModal_open:checked + label + #myModal_close-overlay + label{
	background:rgba(0,0,0,0.70);
	display:block;
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
	z-index:997;
}

#myModal_open:checked ~ #myModal_close-button + label{
	display:block;
	/*background:#fff;*/
	text-align:center;
	font-size:25px;
	line-height:44px;
	width:90%;
	height:44px;
	position:fixed;
	bottom:10%;
	left:5%;
	z-index:9999;
}
#myModal_open:checked ~ #myModal_close-button + label::before{
	content:'x';
}
#myModal_open:checked ~ #myModal_close-button + label::after{
	content:'CLOSE';
	margin-left:5px;
	font-size:80%;
}
@media(min-width:768px){
	#myModal_open:checked + label ~ .myModal_popUp{
		width:600px;
		height:600px;
	}
	#myModal_open:checked + label ~ .myModal_popUp > .myModal_popUp-content{
		width:calc(100% - 40px);
		height:calc(100% - 20px);
	}
	#myModal_open:checked ~ #myModal_close-button + label{
		width:44px;
		height:44px;
		left:50%;
		top:50%;
		margin-left:240px;
		margin-top:-285px;
		overflow:hidden;
	}
	#myModal_open:checked ~ #myModal_close-button + label::after{
		display:none;
	}
}

/*ボタンの装飾*/

/*#myModal_open + label, */
#myModal_open:checked ~ #myModal_close-button + label{
	background:#cdf9f2;
	color:#333;
	box-shadow:0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24);
	transition:0.3s;
}
#myModal_open + label:hover,
    #myModal_open:checked ~ #myModal_close-button + label:hover {
      box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.24);
    }
/*開くボタン*/
    #myModal_open + label {  
/*	width: 200px;
      margin: 0 auto;
      padding: 15px 10px;
      text-align: center;
      display: block;
      letter-spacing: 3px;
      font-weight: bold;
*/
    }
img.myModal_img{
	width:150px;
}

/*閉じるボタン*/
    #myModal_open:checked ~ #myModal_close-button + label::before {
      content: "\f00d";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      margin-right: 5px;
    }

 @media (min-width: 768px) {
      #myModal_open:checked ~ #myModal_close-button + label::before {
        margin-right: 0;
      }
      #myModal_open:checked ~ #myModal_close-button + label {
        box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24);
        border-radius: 50%;
      }
    }
/*ボタンの装飾*/
/*モーダルここまで-----------------------------------------------------------------*/


/*商品案内ページここから*/

.page_top_img{
	width:100%;
	max-height:280px;
	position: relative;
}
.page_top_img img{
	width:100%;
	object-fit: cover;
	object-position: center,center;
}
.page_top_logo{
	position: absolute;
	width:60%;
	max-width:250px;
	top:55%;
	left:50%;
	transform: translate(-50%, -50%);
	z-index: 3001;
}
.page_top_logo img{
	width:100%;
}

/*文字コンテンツ(03 col_02)-----------------------------------------------------------------*/

.float_left{
	float:left;
}
.float_right{
	float:right;
}
.pc_r_pd15px{
	padding:0;
}





/*流れ01-----------------------------------------------------------------*/

.flow_waku{
	padding-top:50px;
}
.flow_bar{
	background:#fff;
	padding:15px 10px;
	border-radius:0px;
	margin-bottom:40px;
	position: relative;
}
.flow_midashi{
	font-family: 'Playball', cursive;
	font-size:26px;
	color:#888;
	margin-bottom:15px;
}
.flow_bar::after{
	content:"";
	display:inline-block;
	width:30px;
	height:30px;
	background-image:url(../img/sankaku01.png);
	background-size:contain;
	vertical-align: middle;
	position: absolute;
	top:100%;
	left:50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
.flow_bar:last-child::after{
	display:none;
}
@media (min-width: 768px) {
.page_top-img{
	max-height:400px;
}
.pc_r_pd15px{
	padding:15px;
}
}
/*流れ01ここまで
-----------------------------------------------------------------*/
/*見出し*/
.c-title .en{
	color:#0054a6;;
	position:relative;
	line-height:1.6;
	font-family: 'Avenir LT W01_65 Medium1475532';
	letter-spacing: .08em;
	font-size: 36px;
}



/*流れ02*/
.c-title .en, .c-title--white .en, .c-title--small .en{
	color:#0054a6;
	line-height:1.6;
	position:relative;
	font-family: 'Avenir LT W01_65 Medium1475532';
	letter-spacing:.08em;
	text-align: center;
	display:block;
	font-size:1.5rem;
}
.c-title .jp, .c-title--white .jp, .c-title--small .jp{
	display: block;
	text-align: center;
	font-size:1rem;
	font-family:'FOT-ロダン Pro B';
	font-weight:bold;
	color:#0054a6;
	position: relative;
	margin-bottom:10px;
}
#p-flow ol{
	background:#d0e7f6;
	position:relative;
	padding:15px 15px;
	max-width:1200px;
	margin:0 auto;
}

#p-flow::before{
	display: none;
}
.p-flow-list{
	list-style:none;
}
.p-flow-list__item{
	position:relative;
	background:#fff;
	width:100%;
	display: block;
	padding:5%;
	box-sizing: border-box;
	margin-bottom:30px;
	z-index:10;
}
.p-flow-list__item:last-child{
	margin-bottom:0;	
}
.p-flow-list__item:last-child::after{
	display: none;
}
.p-flow-list__item::after{
	content:"";
	width:2.9rem;
	height:1.3rem;
	background-size:27px 10px;
	background-size: 2.9rem 1.3rem;
	bottom: -13px;
	background:url(../img/flow_obj.png) no-repeat center top;
	position:absolute;
	left:50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
}
.p-flow-list__num{
	width:3rem;
	height:3rem;
	position:absolute;
	background:#0054a6;
	top:0;
	left:0;
	z-index:100;
}
.p-flow-list__num span{
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	font-size: 18px;
}

.p-flow-list__body h3.title{
	color:#0054a6;
	padding:18px 0 15px 0;
	font-size:24px;
	font-family:'FOT-ロダン Pro B';
	font-weight:bold;
}
.p-flow-list__header{
	width:100%;
	height:168px;
	display:block;
	overflow:hidden;
}
.p-flow-list__header img{
	width:100%;
	height:100%;
	object-fit: cover;
	}


.p-flow-list-02 .p-flow-list__header:before {
	background-image: url(../img/flow_02.jpg);
}

.p-flow-list-03 .p-flow-list__header:before {
	background-image: url(../img/flow_03.jpg);
}

.p-flow-list-04 .p-flow-list__header:before {
	background-image: url(../img/flow_04.jpg);
}

.p-flow-list-05 .p-flow-list__header:before {
	background-image: url(../img/flow_05.jpg);
}
.p-flow-list__body{
	width:100%;
	display:block;
	padding:0;
	box-sizing:border-box;
	word-wrap: break-word;
}
.p-flow-list__body .inner{
	padding:0;
	min-height:inherit;
}
.p-flow-list__body .inner .title{
	font-size:15px;
	font-weight:bold;
	color:#0054a6;
	text-align:center;
	position:static;
	transform: none;
	padding:18px 0 15px 0;
	font-family:'FOT-ロダン Pro B';
}
.p-flow-list__body .inner p{
	line-height:1.7;
	padding-bottom:10px;
	font-size:13px;
}
.p-flow-list__body .inner p:last-child {
	padding-bottom: 0;
}
.c-button--small{
	padding:0.85em 0;
}
.c-button{
	font-size:13px;
	padding:7px;
	display: block;
	font-family:'FOT-ロダン Pro B';
	text-decoration:none;
	text-align:center;
	font-weight:bold;
	line-height:1.4;
	margin:0 auto;
	border:3px solid #0054a6;
	position:relative;
	overflow:hidden;
	color:#0054a6;
}
.c-button__icon, .c-button--white__icon2{
	position:relative;
}
/*
a, input, select, textarea, button, a object, a > span, a img, *:before, *:after, button span, a .c-button, a .c-button--white, a .c-button--small, .c-airdate__cell{
	transition:all 300ms ease;
	transform:translate3d(0, 0, 0);
}
*/
@media screen and (min-width: 500px) and (max-width: 767px){
.p-flow-list__header{
	height:300px;
}		
}

@media (min-width: 768px) {
.c-title{
	text-align: center;	
	}
.c-title .en, .c-title--white .en, .c-title--small .en{
	line-height:1.4;
	font-size:2.4rem;
	display: inline;
}
.c-title .jp, .c-title--white .jp, .c-title--small .jp{
	font-size:1.2rem;
	margin-bottom:10px;
	display: inline;
	top:-6px;
}
#p-flow ol{
	padding:30px 40px;	
}
#p-flow{
	padding-top:50px;
	}
#p-flow::before{
	content:"";
	width:auto;
	height:336px;
	display:block;
	background:url(../img/bg_02.gif) no-repeat center top;
	background-size:100% 336px;
	position:absolute;
	top:-100px;
	z-index:1;
}
.p-flow-list__item{
	padding:2.5%;
}
.p-flow-list__item{
	display: table;
	width:100%;
	margin-bottom:40px;
}
.p-flow-list__item::after{
	content:"";
	width:5.2rem;
	height:2.1rem;
	background:url(../img/flow_obj.png) no-repeat center top;
	position:absolute;
	background-size:52px 21px;
	background-size: 5.2rem 2.1rem;
	bottom:-21px;
	left:50%;
}
.p-flow-list__num{
	width:6rem;
	height:6rem;
}
.p-flow-list__num span{
	font-size:26px;
}
.p-flow-list__header{
	width:45%;
	display:table-cell;
	height:168px;
	box-sizing: border-box;
	vertical-align: middle;
	overflow:hidden;
}
.p-flow-list__header > div{
	height:300px; 
	overflow:hidden;
	}
.p-flow-list__body{
	width:55%;
	display:table-cell;
	padding:40px 0 40px 40px;
	box-sizing:border-box;
}
.p-flow-list__body.inner{
	padding-left:40px;
	border-left:1px lolid #ccc;
	min-height:170px;
}
.p-flow-list__body .inner .title{
	font-size:28px;
	font-weight: bold;
	padding:10px 0 30px 0;
}
.p-flow-list__body .inner p{
	line-height:180%;
	padding-bottom:14px;
	font-size:16px;
}
.c-button{
	font-size:20px;
	padding:15px;
	border:4px solid #0054a6;
	max-width:350px;
	margin-top:20px;
}
}

/*流れ02ここまで-----------------------------------------------------------------*/

/*-------------------------------リストでカラム調整*/

ul.list-col2 {
  margin: 40px auto 30px auto;
  padding-top: 20px;
  padding-bottom: 20px;
  overflow: hidden;
}
ul.list-col2 li {
	width: 100%;
	float: none;
	text-align:center;
	padding: 20px;
	text-indent: 0;
}
ul.list-col2 li figure {
  text-align: center;
}
ul.list-col2 li figure img {
  margin-bottom: 20px;
}
ul.list-col2 li figure figcaption {
  text-align: left;
}
ul.list-col2 li figure figcaption .figure-strong {
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1.5;
  color: #0b476f;
}

/*displayテーブルにして高さの真ん中でセンターにするクラス*/
ul.list-col2-vertical_middle {
display: block;
}
ul.list-col2-vertical_middle  li{
display: block;
	float:none;
}

ul.list-col3 {
  margin: 40px auto 60px auto;
  overflow: hidden;
}
ul.list-col3 li {
  padding: 14px 0px;
  text-indent: 0;
  text-align: center;
  width: 33.3333%;
  
	float: left;
}
ul.list-col4 {
  margin: 40px auto 60px auto;
  overflow: hidden;
}
ul.list-col4 li {
  padding: 14px 0px;
  text-indent: 0;
  text-align: center;
  width: 25%;
  float: left;
}


ul.list-marginBottom0 li {
  margin-bottom: 0;
}

ul.list-borderBottom-dashed li {
  border-bottom: dashed 1px #888;
  margin-bottom: 10px;
}

ul.list-borderBottom-dashed li:last-of-type {
  margin-bottom: 0;
  border-bottom: none;
}






/*--------------------------画像*/
.image {
  line-height: 0;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 40px;
}

.image img {
  max-width: 100%;
  margin-bottom: 0px;
}

.image.alignLeft {
  max-width: 100%;
  float: none;
  margin: 12px 0 14px 0;
}

.image.alignRight {
  max-width: 100%;
  float: none;
  margin: 12px 0 14px 0;
}

.image.col2 img {
  width: 49.444%;
  margin-right: 1%;
}

.image.col2 img:last-of-type {
  margin-right: 0;
}

.figcaption {
  font-size: 20px;
  text-align: center;
  font-weight: bold;
}

.image img.pc_small {
  max-width: 95%;
  padding-top: 10px;
}

@media (min-width: 768px) {
	.image {
		overflow: hidden;
	}

	.image.alignLeft {
		max-width: 40%;
		float: left;
		margin: 0 24px 14px 0;
	}
	.image.alignRight{
		max-width:40%;
		float:right;
		margin:0 0 14px 24px;
	}

  .image img.pc_small {
    max-width: 600px;
    padding-top: 0;
  }

  .figcaption {
    font-size: 30px;
  }
}
/*------------------------テーブル*/
table.table {
  border-collapse: collapse;
  width: 100%;
  margin: 0 auto 30px auto;
}

table.table th,
table.table td {
  padding: 6px 10px;
  text-align: left;
  vertical-align: middle;
  border: solid 1px #ccc;
  box-sizing: border-box;
/*
	display:block;
	width:100%;
*/
}

table.table th {
  background: #f3f3f3;
	width:50%;
}
table.table td{
	background:#fff;
}

table.table-hikaku {
  width: 100%;
  margin: 20px auto 0px auto;
  border-collapse: collapse;
}
table.table-hikaku th, table.table-hikaku td {
  width: 50%;
  padding: 8px;
  text-align: center;
}
table.table-hikaku td {
  text-align: left;
}
table.table-hikaku th:first-of-type {
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
}
table.table-hikaku th:last-of-type {
  border-bottom: solid 1px #ccc;
}
table.table-hikaku td:first-of-type {
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
}
table.table-hikaku td:last-of-type {
  border-bottom: solid 1px #ccc;
}
table.table-hikaku tr:last-of-type td {
  border-bottom: none;
}

@media (min-width: 768px) {
	table.table th,
	table.table td{
		display:table-cell;
		width:auto;
	}
	table.table th{
		width:30%;
	}
  table.table-hikaku {
    width: 80%;
  }
  table.table-hikaku td {
    text-align: center;
  }
}

/*--------------------
フォーム
---------------------*/
h2.h2Form {
  padding: 6px;
  font-size: 0.4em;
  text-align: center;
  background: #2eb8bd;
  color: #fff;
}

/*h2と違う装飾の場合*/
h2.h2Form:after {
  display: none;
}

@media (min-width: 768px) {
	  h2.h2Form {
		  font-size:25px;
		  padding: 5px;
  }

}
table.formTbl {
  max-width: 800px;
  width: 100%;
  border-collapse: collapse;
  margin: 10px auto 30px auto;
  border-top: solid 1px #d2c1ad;
}

table.formTbl .sp_none {
  display: none;
}

table.formTbl th,
table.formTbl td {
  padding: 0px 10px 0px 12px;
  box-sizing: border-box;
  vertical-align: middle;
  font-size: 14px;
  display: block;
  width: 100%;
  border: solid 1px #808080;
  border-bottom: none;
  position: static;
}

table.formTbl th {
  text-align: left;
  padding-right: 10px;
  background: #f2f2f2;
  padding-top: 5px;
  padding-left: 30px;
  padding-bottom: 5px;
  border-bottom: none;
}

table.formTbl td {
  text-align: center;
  padding: 10px 0px;
  border-top: none;
}

table.formTbl td.borderBottomForm {
  border-bottom: solid 1px #808080;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
textarea {
  padding: 2px;
  border: solid 1px #888;
  width: 90%;
}

table.formTbl td select {
/*
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
*/
  border: solid 1px #888;
  padding: 3px 3px 3px 6px;
  border-radius: 3px;
  font-size: 13px;
  margin-bottom: 4px;
}

textarea {
  max-width: 90%;
  width: 100%;
}

table.formTbl input[type="radio"] {
/*
  margin-right: 0px;
  position: relative;
  top: 0px;
  left: 17px;
*/
	margin-right: 4px;
	position: relative;
	top: 0px;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
/* iOSでのデフォルトスタイルをリセットここまで */

input[type="submit"] {
  text-indent: -9999px;
  border: none;
  background: url(../img/mamoul/btn-submit_sp.jpg) no-repeat center center;
  background-size: contain;
  width: 100%;
  height: 88px;
  max-width: 440px;
  margin: 0px auto 30px auto;
}

input[type="submit"]:hover {
  opacity: 0.7;
}

th {
  position: relative;
}

th.must .mustBox {
  position: relative;
  width: 100%;
  height: 100%;
}

th.must .mustBox:before {
  content: "※";
  color: red;
  padding-right: 5px;
  position: absolute;
  left: -20px;
}

@media (min-width: 768px) {
  th.must .mustBox {
    position: relative;
    width: 100%;
    height: 100%;
  }

  th.must .mustBox:before {
    content: "※";
    color: red;
    padding-right: 5px;
    position: absolute;
    left: -24px;
  }

  table.formTbl {
    margin-top: 0;
    border-top: solid 1px #808080;
  }

  table.formTbl .sp_none {
    display: inline-block;
  }

  table.formTbl th,
  table.formTbl td {
    /*    padding: 10px 0px;*/
    box-sizing: border-box;
    font-size: 18px;
    padding-top: 20px;
    padding-bottom: 20px;
    display: table-cell;
    width: auto;
    border-bottom: solid 1px #808080;
  }

  table.formTbl th {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 40px;
  }

  table.formTbl td select {
    font-size: 13px;
  }

  input[type="text"],
  input[type="tel"],
  input[type="mail"],
  textarea {
    padding: 4px;
  }

  input[type="submit"] {
    background: url(../img/mamoul/btn-submit_pc.jpg) no-repeat center center;
    background-size: contain;
  }
}


/*アンケートフォーム*/
@media (min-width: 768px) {
	table.quesTbl th,
	table.quesTbl td{
		width:100%;
		display:block;
	}
	table.quesTbl th{
		border-top:none;
	}
	table.quesTbl td{
		border-top:none;
	}
}

/*--以下リスト系--*/
/*チェックリスト*/
ul.list {
  list-style: none;
  padding: 0;
  margin: 0 0 0px 0;
}
ul.list li {
  position: relative;
  text-align: left;
  padding-left: 1.3em;
  text-indent: -1.3em;
}
ul.list-underline li{
	padding-left:0;
	text-indent:0;
}
ul.list-underline li:after {
	content: "";
	height: 1px;
	width:100%;
	background: #333;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0);
}



ul.max-width100 li {
  max-width: 100%;
}


ul.list-circle li:before {
  content: "●";
  position: relative;
  color: #ed1e79;
  padding-right: 5px;
}

ul.list-check li {
  margin-bottom: 1em;
  padding-left: 1.4em;
  padding-right: 10px;
  text-indent: 0;
}
ul.list-check li:before{
	display: block;
	content: "";
	position: absolute;
	top: .2em;
	left: 1px;
	width: 15px;
	height: 12px;
	border-left: 5px solid #3498db;
	border-bottom: 5px solid #3498db;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/*
ul.list-check li:before {
  content: "";
  position: absolute;
  top: 2px;
  left: 8px;
  margin-right: 5px;
  width: 20px;
  height: 18px;
  background: url("../img/check.png") no-repeat center center;
  background-size: contain;
}
*/
ul.list-dotted li:before {
  content: "・";
  position: relative;
  padding-right: 5px;
}


/*-------------------------------リストでカラム調整*/

ul.list-col2 {
  margin: 40px auto 30px auto;
  padding-top: 20px;
  padding-bottom: 20px;
  overflow: hidden;
}
ul.list-col2 li {
	width: 100%;
	float: none;
	text-align:center;
	padding: 20px;
	text-indent: 0;
}
ul.list-col2 li figure {
  text-align: center;
}
ul.list-col2 li figure img {
  margin-bottom: 20px;
}
ul.list-col2 li figure figcaption {
  text-align: left;
}
ul.list-col2 li figure figcaption .figure-strong {
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1.5;
  color: #0b476f;
}
/*displayテーブルにして高さの真ん中でセンターにするクラス*/
ul.list-col2-vertical_middle {
display: block;
}
ul.list-col2-vertical_middle  li{
display: block;
	float:none;
}
/*よくある質問*/
ul.list-faq li {
  list-style: none;
}

ul.list-faq li.faq-f,
ul.list-faq li.faq-a {
  position: relative;
  margin-bottom: 10px;
  padding-left: 2em;
  text-indent: -2em;
}

ul.list-faq li.faq-f:before,
ul.list-faq li.faq-a:before {
  font-weight: bold;
}

ul.list-faq li.faq-f:before {
  content: "Q：";
  color: #009245;
}

ul.list-faq li.faq-a:before {
  content: "A：";
  color: #ed1e79;
}

@media (min-width: 768px) {
  ul.list-col2 {
    margin: 40px auto 60px auto;
    overflow: hidden;
  }
  ul.list-col2 li {
	  width: 50%;
	  float: left;
	  text-align:center;
	  padding: 0 20px;
	  text-indent: 0;
	}
  ul.list-col2 li figure {
    text-align: center;
  }
  ul.list-col2 li figure img {
    margin-bottom: 20px;
  }
  ul.list-col2 li figure figcaption {
    text-align: left;
  }

/*displayテーブルにして高さの真ん中でセンターにするクラス*/
ul.list-col2-vertical_middle {
display: table;
}
ul.list-col2-vertical_middle  li{
display: table-cell;
	vertical-align: middle;
	float:none;
}
	
/*2カラムでmax-widthまで100%表示*/	
ul.list-col2-vertical_middle  li{
	display: table-cell;
	vertical-align: middle;
	float:none;
}
}


.faq-title {
  font-size: 16px;
  padding: 8px 10px;
  font-weight: bold;
  background-color: #d5f1f2;
  display: inline-block;
  line-height: 1;
  color: #534741;
  border-radius: 3px;
	margin-bottom:15px;
}

@media (min-width: 768px) {
  .faq-title {
    font-size: 18px;
    font-weight: bold;
    padding: 8px 15px;
    background-color: #d5f1f2;
	 margin-bottom:20px;
  }
}
label {
  cursor: pointer;
}

a.privacyLink {
  display: inline-block;
  font-size: 13px;
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  a.privacyLink {
    font-size: 0.9em;
  }
}
/*-----------------------
流れ
------------------------*/
ol.flow {
  list-style: none;
  padding: 0;
  margin: 30px auto 60px auto;
}
ol.flow .flow_list {
  background: #e8f4d9;
  width: 100%;
  display: table;
  position: relative;
  margin-bottom: 40px;
  z-index: 10;
}
ol.flow .flow_list h4 {
  background: none;
  color: inherit;
  font-size: 22px;
  margin-bottom: 0;
  text-align:center;
  color:#333;
}
ol.flow .flow_list:after {
  content: "";
  width: 52px;
  height: 21px;
  border-top: 20px solid #e8f4d9;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 0px solid transparent;
  position: absolute;
  bottom: -21px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}
ol.flow .flow_list:last-of-type:after {
  display: none;
}
ol.flow .flow_num {
  font-size: 24px;
  width: 60px;
  height: 60px;
  position: absolute;
  background: #b8d200;
  top: 0;
  left: 0;
  z-index: 100;
}
ol.flow .flow_num span {
  color: #fff;
font-weight:bold;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
ol.flow .flow_header {
  width: 40%;
  height: 100%;
  display: table-cell;
  box-sizing: border-box;
  vertical-align: middle;
  position: relative;
}
ol.flow .flow_header .flowBox {
  position: relative;
  width: 100%;
  height: 100%;
}
ol.flow .flow_header .flowBox img {
	vertical-align: bottom;
}
ol.flow .flow_header span.flowBorder {
  display: inline-block;
  width: 1px;
  height: 80px;
  background: #444;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
ol.flow .flow_body {
  width: 60%;
  display: table-cell;
  padding: 40px;
  box-sizing: border-box;
  vertical-align: top;
}
ol.flow .flow_body h4 {
  color: #2354A1;
  font-size: 20px;
}

@media (max-width: 768px) {
  ol.flow .flow_list,
  ol.flow .flow_header,
  ol.flow .flow_body {
    display: block;
    width: 100%;
  }

  ol.flow .flow_header {
    text-align: center;
    padding: 10px 0;
  }
  ol.flow .flow_header:after {
    content: "";
    width: 120px;
    height: 1px;
    background: #444;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
  }
  ol.flow .flow_header span.flowBorder {
    display: none;
  }
  ol.flow .flow_header h4 {
    line-height: 1.5;
    font-size: 18px;
  }

  ol.flow .flow_body {
    padding: 20px;
  }
}
@media (max-width: 420px) {
  ol.flow .flow_num {
    width: 40px;
    height: 40px;
  }
}
@media (min-width: 768px) {
  article.flowArticle {
    padding: 30px 0;
  }
}
/*------------------------radioボタン*/
.input-radio-style {
  max-width: 158px;
  margin: 0 auto;
}
.input-radio-style .radio-style-box {
  position: relative;
}
.input-radio-style .radio-style-box input[type="radio"] {
  position: absolute;
}
.input-radio-style .radio-style-box label {
  display: block;
  text-align: left;
}

@media (min-width: 560px) {
  .input-radio-style {
    max-width: 450px;
    margin: 0 auto;
    overflow: hidden;
  }
  .input-radio-style .radio-style-box {
    position: relative;
    display: inline-block;
    float: left;
    margin-right: 20px;
  }
  .input-radio-style .radio-style-box:last-of-type {
    margin-right: 0;
  }
  .input-radio-style .radio-style-box input[type="radio"] {
    position: absolute;
  }
  .input-radio-style .radio-style-box label {
    display: inline-block;
    text-align: left;
  }
}
/*-------------------radioボタン装飾*/
/*css radio02*/
.radio-input {
  /*  display: none;*/
  opacity: 0;
}

.radio-input + label {
  padding-left: 28px;
  position: relative;
  left: 0px;
  /*  margin-right: 20px;*/
}

.radio-input + label::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0px;
  transform: translate(0, -50%);
  width: 20px;
  height: 20px;
  border: 1px solid #999;
  border-radius: 50%;
}

.radio-input:checked + label::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 3px;
  transform: translate(0, -50%);
  width: 14px;
  height: 14px;
  background: #666;
  border-radius: 50%;
}
/*斜めストライプ*/
.stripe_pink{
	background-image: linear-gradient(
	-45deg,
	#fdf9f8 25%,
	#fce9e7 25%,
	#fce9e7 50%,
	#fdf9f8 50%,
	#fdf9f8 75%,
	#fce9e7 75%,
	#fce9e7
);
background-size: 30px 30px;
background-attachment: fixed;	
}
.stripe_blue{
	background-image: linear-gradient(
	-45deg,
	#fbfdf6 25%,
	#fce9f2 25%,
	#fbfdf6 50%,
	#fce9f2 50%,
	#fbfdf6 75%,
	#fce9f2 75%,
	#fbfdf6
);
background-size: 30px 30px;
background-attachment: fixed;	
}
.border_yellow{
	background-color: #ebf3d2;
	background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(.5, #F9F9F9), color-stop(.5, transparent), to(transparent));
	-webkit-background-size: 20px;	
}



/*--------------------------------
Facebook
---------------------------------*/
#facebookBox{
	text-align:center;
	float:none;
	margin:30px 0;
}
.pc_block{
	display:none;
}
.sp_block{
	display:block;
}
@media (min-width: 850px){
	.col2_pc .news_inner{
		width:48%;
		float:left;
	}
	#facebookBox{
		text-align:center;
		float:right;
		width:38%;
		margin:0;
	}
	
	.pc_block{
		display:block;
	}
	.sp_block{
		display:none;
	}
	
}