@charset "utf-8";
/* common style css */

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
html,body { height: 100%; }
html {
	font-size: 62.5%; /*ベースを10pxに*/
}
body {
	font-family: 'Noto Sans Japanese', 'Awesome Font', sans-serif;
	color: #5C5150;
	font-size: 14px;
	font-size: 1.4rem;	font-weight: 300;
	line-height: 1.8rem;
	z-index: 1;
	-webkit-text-size-adjust: 100%;
}
article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary{
	display:block;
}
a {
	font-weight: bold;
	color: #5C5150;
	text-decoration: none;
	display: block;
	width: 100%;
	height: 100%;
	outline: none;
}
a.link {
	width: auto;
	display: inline;
}
a[target="_blank"]:after {
	content: "";
	display: inline-block;
	width: 13px;
	height: 13px;
	background: url(../img/i-window.png) no-repeat;
	background-size: contain;
	margin-left: 2px;
}
p a { display: inline-block; }
a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: “alpha( opacity=70 )”;
	-webkit-transition: all 0.1s linear;
	-moz-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	-ms-transition: all 0.1s linear;
	transition: 0.1s linear;
}
p a:hover,
p.btn:hover {
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: “alpha( opacity=50 )”;
	-webkit-transition: all 0.05s linear;
	-moz-transition: all 0.05s linear;
	-o-transition: all 0.05s linear;
	-ms-transition: all 0.05s linear;
	transition: 0.05s linear;
}
div.square-arrow:hover {
	opacity: 0.4;
	filter: alpha(opacity=40);
	-ms-filter: “alpha( opacity=40 )”;
	-webkit-transition: all 0.1s linear;
	-moz-transition: all 0.1s linear;o-transition: all 0.1s linear;
	-ms-transition: all 0.1s linear;
	transition: 0.1s linear;
}
.img_wrap a:hover {
	transition: 0.05s linear;
	-webkit-transition: all 0.05s linear;
	-moz-transition: all 0.05s linear;
	-o-transition: all 0.05s linear;
	-ms-transition: all 0.05s linear;
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: “alpha( opacity=50 )”
}
.caution a { display: inline; }
ul {
	margin:0;
	padding: 0;
	list-style: none;
}
span { display: inline-block; }
.left { float: left; }
.right { float: right; }
.txt-center { text-align: center !important; }
.txt-left { text-align: left !important; }
.txt-right { text-align: right !important; }
.block { display: block !important; }
.clear { clear: both; }
.clearfix { clear: both; overflow: hidden; }
.underline { text-decoration: underline; }
.none { font-weight: bold; }
.img_wrap img {
	width: 100%;
	height: auto;
}

/* 文字 */
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 100;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.otf) format('opentype');
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 200;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format('opentype');
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 300;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format('opentype');
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 400;
	src: local('NotoSansJP-Regular.otf'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 500;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 700;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
}

@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 900;
	src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.otf) format('opentype');
}
h1 {
	font-weight: bold;
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 3.4rem;
	clear: both;
	overflow: hidden;
}
h1 a { color: #fff; display: inline; }
h2 {
	font-weight: bold;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 2.2rem;
	margin-bottom: 1.5rem;
}
h3 {
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 2.2rem;
	font-weight: bold;
}
h4 {
	font-size: 20px;
	font-size: 2rem;
	line-height: 2.6rem;
	font-weight: bold;
}
h5 {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.4rem;
}
h6 {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
}
.t-10 {
	font-size: 10px;
	font-size: 1rem;
}
.t-11 {
	font-size: 11px;
	font-size: 1.1rem;
}
.t-12 {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.2rem;
}
.t-13 {
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.3rem;
}
.t-14 {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 2.6rem;
}
.t-15 {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.8rem;
}
.t-16 {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 3rem;
}
.t-17 {
	font-size: 17px;
	font-size: 1.7rem;
	font-weight: bold;
}
.t-18 {
	font-size: 18px;
	font-size: 1.8rem;
}
.t-19 {
	font-size: 19px;
	font-size: 1.9rem;
}
.t-20 {
	font-size: 20px;
	font-size: 2rem;
}
.t-21 {
	font-size: 21px;
	font-size: 2.1rem;
	line-height: 2.8rem;
}
.t-22 {
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 2.2rem;
}
.t-23 {
	font-size: 23px;
	font-size: 2.3rem;
	line-height: 2.4rem;
}
.t-24 {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 2.5rem;
}
.t-26 {
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 2.8rem;
}
.t-30 {
	font-size: 30px;
	font-size: 3rem;
	line-height: 3.2rem;
}
.t-46 {
	font-size: 46px;
	font-size: 4.6rem;
}
.ver-top { vertical-align: top !important; }
.ver-txt-bottom { vertical-align: text-bottom !important; }
.red { color: #8b1129; }
.bold { font-weight: bold; }
strong {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.2rem;
}

/* 余白 */
.mt-5  { margin-top: 0.5rem; }
.mt-10 { margin-top: 1rem; }
.mt-15 { margin-top: 1.5rem; }
.mt-20 { margin-top: 2rem; }
.mt-25 { margin-top: 2.5rem; }
.mt-30 { margin-top: 3rem; }
.mt-50 { margin-top: 5rem; }
.mr-5  { margin-right: 0.5rem; }
.mr-10 { margin-right: 1rem; }
.mr-15 { margin-right: 1.5rem; }
.mr-20 { margin-right: 2rem; }
.mr-25 { margin-right: 2.5rem; }
.mr-30 { margin-right: 3rem; }
.mb-5  { margin-bottom: 0.5rem; }
.mb-10 { margin-bottom: 1rem; }
.mb-15 { margin-bottom: 1.5rem; }
.mb-20 { margin-bottom: 2rem; }
.mb-25 { margin-bottom: 2.5rem; }
.mb-30 { margin-bottom: 3rem; }
.ml-5  { margin-left: 0.5rem; }
.ml-10 { margin-left: 1rem; }
.ml-15 { margin-left: 1.5rem; }
.ml-20 { margin-left: 2rem; }
.ml-25 { margin-left: 2.5rem; }
.ml-30 { margin-left: 3rem; }

.pt-5  { padding-top: 0.5rem; }
.pt-10 { padding-top: 1rem; }
.pt-15 { padding-top: 1.5rem; }
.pt-20 { padding-top: 2rem; }
.pt-25 { padding-top: 2.5rem; }
.pt-30 { padding-top: 3rem; }
.pr-5  { padding-right: 0.5rem; }
.pr-10 { padding-right: 1rem; }
.pr-15 { padding-right: 1.5rem; }
.pr-20 { padding-right: 2rem; }
.pr-25 { padding-right: 2.5rem; }
.pr-30 { padding-right: 3rem; }
.pb-5  { padding-bottom: 0.5rem; }
.pb-10 { padding-bottom: 1rem; }
.pb-15 { padding-bottom: 1.5rem; }
.pb-20 { padding-bottom: 2rem; }
.pb-25 { padding-bottom: 2.5rem; }
.pb-30 { padding-bottom: 3rem; }
.pl-5  { padding-left: 0.5rem; }
.pl-10 { padding-left: 1rem; }
.pl-15 { padding-left: 1.5rem; }
.pl-20 { padding-left: 2rem; }
.pl-25 { padding-left: 2.5rem; }
.pl-30 { padding-left: 3rem; }

.p-10 { padding: 1rem;}
.py-10 { padding-top: 1rem; padding-bottom: 1rem;}
.px-10 { padding-right: 1rem; padding-left: 1rem;}


/* テキスト */
.text-left  { text-align: left !important; }
.text-right { text-align: right !important; }

.font-weight-bold { font-weight: 700 !important; }

/* 幅 */
.w-auto { width: auto; !important}
.w-100 { width: 100%; !important}
.w-75 { width: 75%; !important}
.w-50 { width: 50%; !important}
.w-25 { width: 25%; !important}

/*=========================================
parts
=========================================*/
/* タイトル */
h1 .todoufuken {
	padding: 0.2rem 1.5rem;
	margin-right: 5px;
	background: #fff;
	color: #fa764d;
	line-height: 3.4rem;
	font-size: 23px;
	font-size: 2.3rem;
	border-radius: 50px;
	text-align: center;
}

/* ボタン */
.btn {
	background: #F4CC66;
	outline: none;
	border: none;
	border-radius: 50px;
	height: 5.6rem;
	width: 60%;
	color: #fff;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
	box-shadow: 0 2px 3px rgba(0,0,0,.2);
	cursor: pointer;
	margin: 0 auto;
}
.btn:hover {
	box-shadow: none;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: “alpha( opacity=70 )”;
	-webkit-transition: all 0.1s linear;
	-moz-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	-ms-transition: all 0.1s linear;
	transition: 0.1s linear;
}
.btn a {
	color: #fff;
	padding: 1.9rem;
}

.sm-btn {
	display: inline-block;
	font-weight: 400;
	color: #23282c;
	text-align: center;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-color: transparent;
	border: 1px solid transparent;
	padding: 0.5rem 1.5rem;
	line-height: 1.5;
	border-radius: 0.25rem;
	transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.sm-btn.btn-color1 {
	background: #F4CC66;
	color: #fff;
}

/* 入力フォーム */
input, textarea, .selectmenu select {
	color: #3d342f;
	font-weight: 300;
	font-size: 14px;
	font-size: 1.4rem;
	height: 4.4rem;
	border: 1px solid #EDD3CE;
	background: #F3F3F3;
	border-radius: 3px;
	padding: 10px;
	font-family: 'Noto Sans Japanese', 'Awesome Font', sans-serif;
	color: #5C5150;
	line-height: 1.8rem;
}
input:focus, textarea:focus, select:focus { outline: none; }
input, select { vertical-align: top; }
textarea {
	width: 100%;
	height: 200px;
	resize: vertical;
}
.full { width: 100%; }
.half {
	width: calc(50% - 4px);
	float: left;
}
.one-third {
	width: calc(30% - 4px);
	float: left;
}
.half:first-of-type { margin-right: 8px; }
.required {
	color: #D42424;
	font-size: 11px;
	font-size: 1.1rem;
	line-height: 0.8rem;
	font-weight: bold;
	vertical-align: top;
}
input:focus, textarea:focus {
	border: 2px solid #C2ADA8;
}
select:focus {
	background: url(../img/select_arrow.png) no-repeat center right 15px,#fff;
	border: 2px solid #C2ADA8;
}
/* Webkit */
input::-webkit-input-placeholder {
	opacity: 0.7;
}
/* Firefox 18 以前 */
input:-moz-placeholder {
	opacity: 0.7;
}
/* Firefox 19 以降 */
input::-moz-placeholder {
	opacity: 0.7;

	/* Firefox 19 以降のデフォルトでは */
	/* color ではなく opacity で色合いを調整しているため */
	/* 文字色を指定する場合、opacity を 1 にする必要がある */
	opacity: 0.7;
}
/* IE 10 以降 */
input:-ms-input-placeholder {
	opacity: 0.6;
	filter: alpha(opacity=60);
}

/* エラーメッセージ */
.error, .no-error {
	display: inline-block;
	text-align: left;
	color: #D42424;
	margin-top: 0.6rem;
	width: 100%;
	font-weight: bold;
}

/* セレクトメニュー */
.selectmenu select {
	width: 100%;
	-webkit-appearance: none;
	outline: none;
	cursor: pointer;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4rem;
	padding: 10px;
	font-weight: 500;
	background: url(../img/select_arrow.png) no-repeat center right 15px, #EBEBEB;
	background-size: 7px 5px;
}
/* select::-ms-expand {
	display: none;
}
select {
	-moz-appearance: none;
	text-indent: 0.01px;
	text-overflow: '';
}

.form-select {
    width: 230px;
    height: 25px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: inset 3px 3px 2px #dadada;
    -moz-box-shadow: inset 3px 3px 2px #dadada;
    box-shadow: inset 2px 2px 2px #dadada;
} */

/* お知らせのカテゴリー色 */
#news span.type {
	display: inline-block;
	text-align: center;
	font-weight: bold;
	width: 80px;
	height: 30px;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
	line-height: 3rem;
}
#news span.type-news { background-color: #344a6e; }
#news span.type-important { background-color: #8f1d33; }

/* cssでtable対応 */
.table { display: table; }
.tr { display : table-row; }
.th, .td { display: table-cell; }
.th {
	white-space: nowrap;
	text-align: right;
}
.td {
	text-align: left;
	vertical-align: top;
}

/* メッセージ */
.message_wrap .message {
	display: table;
	margin: 0 auto;
}
.message_wrap .message div,
.message_wrap .message p {
	display: table-cell;
	vertical-align: middle;
}
.message_wrap .message p {
	padding-left: 8px;
	font-weight: bold;
	line-height: 2.4rem;
	text-align: left;
}
.message_wrap.ok {
	background: #EAFCE9;
	border: 1px solid #60A166;
	padding: 2rem 2rem 1.5rem;
}
.message_wrap.ok .message p { color: #71BD78; }
.message_wrap.no {
	background: #FFE6E6;
	border: 1px solid #D42424;
	padding: 2rem 1rem 1rem;
}
.message_wrap.no p,
.message_wrap.no p a { color: #D42424; }
.message_wrap.no p a { text-decoration: underline; }
.message_wrap.no .box {
	background: #fff;
	padding: 1rem;
	margin-top: 1.5rem;
}
.message_wrap.no .box p:first-of-type {
	text-align: center;
	display: block;
	margin: 0 auto;
}
.message_wrap.no .box p {
	line-height: 2.2rem;
	font-size: 15px;
	font-size: 1.5rem;
}

/*=========================================
header, footer
=========================================*/
/* 共通 */
header, footer {
	background: #FA8A68;
	color: #fff;
	text-align: center;
}

/* header */
header { padding: 2.5rem 1rem; }

/* footer */
footer {
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 0;
	padding: 1.5rem 0;
	height: 4.8rem;
}

/*=========================================
contact
=========================================*/
#contact_wrap {
	background: #F5AE98;
	padding: 2rem 1rem;
	width: 100%;
	color: #fff;
	text-align:center;
	width: 100%;
	bottom: 4.8rem;
	display: block;
	position: absolute;
}
#contact_wrap ul {
	display: inline-block;
}
#contact_wrap ul li {
	display: table-cell;
	vertical-align: middle;
	text-align: left;
	padding-left: 20px;
	word-break : break-all;
}
#contact_wrap ul li:first-of-type {
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	padding: 0 15px;
	min-width: 10em;
}
#contact_wrap ul li:first-of-type p {
	display: inline-block;
	float: left;
}
#contact_wrap a {
	display: inline;
	color: #fff;
	text-decoration: underline;
}

/*=========================================
main article
=========================================*/
#wrapper {
	width: 100%;
	position: relative;
	height:auto !important; /*IE6対策*/
	height: 100%; /*IE6対策*/
	min-height: 100%;
	/*padding-bottom: 20rem;*/
	box-sizing: border-box;
}
article {
	margin: 2rem auto 0;
	text-align: center;
	padding-bottom: 8rem !important;
}

@media screen and (min-width: 1000px) {
	.sp { display: none !important; }


	/*=========================================
	parts
	=========================================*/
	dl { display: table; width: 100%; }
	dt,dd { display: table-cell; }


	/*=========================================
	main article
	=========================================*/
	#wrapper {
		background: url(../img/bg_pc.png) no-repeat;
		background-position: bottom right;
	}
	article {
		width: 70%;
		max-width: 620px;
		/* min-height: calc(100vh - 15.2rem); */
	}

	/*=========================================
	footer
	=========================================*/
	.square-arrow::before, .square-arrow::after { bottom: 0; }
	footer section div > ul:last-of-type { margin-bottom: 4rem; }
	footer section div > ul:first-child > li { height: 417px; }
	footer section div > ul li div.td {
		border-right: 1px solid #fff;
		padding: 1rem 0.8rem 1rem 0;
		width: 18px;
	}
	footer section div > ul {
		width: 50%;
		float: left;
	}
}

@media screen and (max-width: 999px) {
	.pc { display: none !important; }
	.td { display: block; }

	/* 文字 */
	html{font-size: 58.25%;}
	body{font-size: 1.4rem;}

	header {
		padding: 1.6rem 0.5rem;
	}

	/*=========================================
	parts
	=========================================*/
	/* タイトル */
	h1 .todoufuken { padding: 0 1.5rem; }

	/* 入力フォーム */
	input, .selectmenu select { height: 4.8rem; }

	/*=========================================
	main article
	=========================================*/
	#wrapper { background: none; }
	#wrapper::before {
		background: url(../img/bg-sp.png) no-repeat;
		background-size: auto 100vh;
		background-position: top 5rem center;
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 100%;
		content: "";
		z-index: -1;
	}
}

@media screen and (max-width: 999px) and (min-width: 481px) {
	/*=========================================
	main article
	=========================================*/
	article { padding: 0 4rem; }
}

@media screen and (min-width: 481px) {
	.pad { display: none; }

	/*=========================================
	parts
	=========================================*/
	br.only-sp { display: none; }

	/* タイトル */
	h1 #todoufuken_wrap {
		display: inline-block;
		margin-left: 20px;
	}

	/* ボタン */
	.btn { min-width: 335px; }
}

@media screen and (max-width: 480px) {
	/*=========================================
	parts
	=========================================*/
	/* タイトル */
	h1 #todoufuken_wrap { margin-top: 0.5rem; }

	/* ボタン */
	.btn { width: 100%; margin-top: 3rem !important; }

	/*=========================================
	main article
	=========================================*/
	article {
		padding: 0 1rem;
		/*padding-bottom: 4rem !important;*/
	}

	/*=========================================
	contact
	=========================================*/
	#contact_wrap ul li:first-of-type { padding: 0 5px; }
}

.form-article {
	height: auto!important;
}

.form-article + #contact_wrap {
	position: static;
	bottom: unset;
	height: auto!important;
}

.form-article + #contact_wrap + footer {
	position: static;
	bottom: unset;
}

/*=========================================
card
=========================================*/
.card {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	min-width: 0;
	word-wrap: break-word;
	background-color: #fff;
	background-clip: border-box;
	border: 1px solid #c8ced3;
	border-radius: 0.25rem;
}