@charset "utf-8";
/* CSS Document */

/* ==============================================================
   # 全体設定
   ============================================================== */

font-face {
	font-family: "YuGothic-M";
	font-weight: normal;
	 src: local("YuGothic-Medium"),
		  local("Yu Gothic Medium"),
		  local("YuGothic-Regular");
}

@font-face {
	font-family: "YuGothic-M";
	font-weight: bold;
	 src: local("YoGothic-Bold"),
		  local("Yu Gothic");
}

html,
body {
	font-size: 1.5rem;
	-webkit-text-size-adjust: 100%;
	font-family:-apple-system, blinkMacSystemFont, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	/*font-family: -apple-system, blinkMacSystemFont, YuGothic-M, YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;*/
	color:#333;
	line-height:1.6;
}

html {
	font-size: 62.5%; /* 10px */
}

/* ==============================================================
   #クリアフィックス
   ============================================================== */

.cf:before,
.cf:after {
	content: " ";
	display: table;
}
.cf:after {
	clear: both;
}
.cf {
 *zoom: 1;
}

/* ==============================================================
   # 汎用設定
   ============================================================== */

a:link{ color:#1469C7; }
a:visited{ color:#1469C7; }
a:hover{ color:#1469C7; }

a,
a img{
	opacity:1.0;
	filter: alpha(opacity=100);
	transition: 0.1s linear;
}

a:hover,
a:hover img{
	opacity:0.7;
	filter: alpha(opacity=70);
}

section{
	margin:0;
	padding:0;
}

.wrapper{
	width:100%;
	margin:0 auto;
	text-align:left;
	position:relative;
	padding-left:2rem;
	padding-right:2rem;
	box-sizing:border-box;
}

@media (min-width: 768px) {
	.wrapper{
		padding-left:3rem;
		padding-right:3rem;
	}	
}

@media (min-width: 1140px) {
	.wrapper{
		max-width:1024px;
		padding-left:0;
		padding-right:0;
	}
}

img {
	vertical-align: bottom;
}

img.responsive {
	max-width: 100%;
	height: auto;
}

h1{
	margin:0;
	padding:0;
	position:absolute;
	top:12px;
	left:15px;
}

h1 img{
	width:65px;
	height:27px;
}

@media (min-width: 480px) {
	h1 img{
		width:83px;
		height:34px;
	}
}

p{
	font-size:1.4rem;
	line-height: 1.6;
	margin:0 0 1.5rem 0;
	padding:0;
}

@media (min-width: 768px) {
	p{
		font-size:1.6rem;
		line-height: 1.7;
		margin:0 0 2rem 0;
		padding:0;
	}	
}

@media (max-width: 480px) {
	p{
		font-size:1.4rem;
	}	
}


h2.ttl{
	font-family: 'Noto Serif JP', serif;
	font-size:26px;
	line-height: 1.6;
	font-weight: 600;
	letter-spacing: 1px;
	margin-bottom: 2.5rem;
	text-align: center;
}

h3{
	margin:0 0 0.5rem 0;
	padding:0;
	font-size:16px;
	font-weight: bold;
/*	font-family: 'Noto Serif JP', serif;*/
	line-height: 1.5;
}

h3.border span{
	border-bottom: 2px dotted #ccc;
	padding-bottom: 3px;
	display: inline-block;
}

h3.border{
	margin-bottom: 1.0rem;
	font-size:1.6rem;
}


section{
	padding:40px 0;
	margin:0;
}
.s-section{
	margin-bottom:2rem;
}

	
@media (min-width: 769px) {
	h2.ttl{
		font-size:36px;
		margin-bottom: 4.5rem;
	}
	h3{
		margin:0 0 1rem 0;
		font-size:24px;
	}	
	h3.border span{
		border-bottom: 3px dotted #ccc;
		padding-bottom: 5px;
		display: inline-block;
	}	
	h3.border{
		margin-bottom: 1.5rem;
		font-size:1.9rem;
	}
	
	section{
		padding:7rem 0;
		margin:0;
	}	
	.s-section{
	margin-bottom:4rem;
	}
}

.s-section:last-child{
	margin-bottom:0rem;
}

@media (max-width: 480px) {
	h2.ttl{
		font-family: 'Noto Serif JP', serif;
		font-size:19px;
		line-height: 1.6;
		font-weight: 600;
		letter-spacing: 1px;
		margin-bottom: 2.5rem;
		text-align: center;
	}
}












small{
	font-size:75%;
}


hr {
	width: 65%;
	margin:0 auto;
	border: 0;
	border-top: transparent solid 1px;
	border-color: #e2e2e2;
}

hr.slash{
	background:url(../imgs/border.gif) repeat-x left top;
	border:0;
	height:5px;
	padding:0;
	line-height:0;
}

hr.dot{
	padding:0;
	border:0;
	height:0;
	border-bottom:1px dotted #D5CCC1;
}

hr.solid{
	padding:0;
	border:0;
	height:0;
	border-bottom:1px solid #D5CCC1;
}

@media (min-width: 768px) {
	
hr {
	margin:0 auto;
	}
	
	.column{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	.column_l{
		width:30%;
	}
	.column_r{
		width:65%;
	}	
	
	
}



/* ==============================================================
   # 調整・余白・汎用フォントcss
   ============================================================== */

@media (min-width: 1024px) {
	.visible-lg { display: none !important; /* 1025px～は消える */	}
}

@media (min-width: 768px) {
	.visible-md {	display: none !important; /* 768px～は消える */	}
}

@media (min-width: 480px) {
	.visible-sm{	display: none !important; /* 481px～は消える */	}
}

@media (max-width: 768px) {
	.hidden-sp{	display: none !important; /* 0～768pxは消える */	}
}

.pc_contents{	display:none;}

@media (min-width: 800px) {
	.pc_contents{	display:block; /* 0～800pxは消える */}
}

.sp_contents{ display:none;}

@media (max-width: 799px) {
	.sp_contents{		display:block; /* 799px～は消える */	}
}

.p0{ padding:0 !important; }
.m0{ margin:0 !important; }

.mb0{ margin-bottom:0 !important; }
.mb5{ margin-bottom:0.5rem !important; }
.mb10{ margin-bottom:1.0rem !important; }
.mb15{ margin-bottom:1.5rem !important; }
.mb20{ margin-bottom:2.0rem !important; }
.mb30{ margin-bottom:3.0rem !important; }

.mt0{ margin-top:0 !important; }
.mt5{ margin-top:0.5rem !important; }
.mt10{ margin-top:1.0rem !important; }
.mt15{ margin-top:1.5rem !important; }
.mt20{ margin-top:2.0rem !important; }
.mt30{ margin-top:3.0rem !important; }

.fonts{	font-size:1.3rem;}
.fontl{	font-size:1.8rem;}

.color01{ color:#F2394C;}

strong{font-weight:bold;}

.text-left{ text-align:left; }
.text-center{ text-align:center; }
.text-right{ text-align:right; }



