/*-----------------------------------------------------------------------
/ Foundation - reset
----------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
}

body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,
button, select, option, input, textarea {
	font-size: 100%;
}

ol, ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}

q, blockquote {
	quotes: none;
}

q:before, q:after,
blockquote:before, blockquote:after {
	content: "";
	content: none;
}

a img {
	border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}

video {
	max-width: 100%;
}

.ita {font-style: italic;}

body{
	background : #FFF;
	font-family: 'Noto Sans JP', sans-serif;
	overflow-x: hidden;
}

.header {
	width:100%;
	height:48px;
	position:fixed;
	z-index:1000;
	background:#FFF;
	border-bottom:1px solid #c1272d;
}

header {
	margin:0 auto;
	width:960px;
	font-size:12px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}
header div:nth-of-type(2) {
	margin-left: auto;
}

.logo {
	padding:3px 0 0 3px;
}
.navi ul {
	margin:15px 0 0;
	width:256px;
}
.navi li {
	display:inline;
	position:relative;
}
.nav1,
.nav2 {
	padding:0 50px 0 20px;
}
.nav1 a,
.nav2 a {
	color:#000;
	text-decoration:none;
}
.nav1 a:hover,
.nav2 a:hover {
	color:#000;
	text-decoration:underline;
}
.nav1:before {
	content: url(../img/icon_01.svg);
	position: absolute;
	top: 1px;
	left: 0;
}
.nav2:before {
	content: url(../img/icon_02.svg);
	position: absolute;
	top: 1px;
	left: 0;
}
.headcontact {
	width:160px;
	height:48px;
	text-align:center;
	background:#c1272d;
	position:relative;
}

.headcontact a {
	padding:12px 0 0 10px;
	margin: 0;
	display: inline-block;
	width:146px;
	height:32px;
	background: #c1272d;
	border: 2px solid #c1272d;
	color: #FFF;
	cursor: pointer;
	transition: all 0.3s ease 0s;
	font-size:12px;
	font-weight:500;
	text-decoration:none;
	text-align:center;
	vertical-align:middle;
}
.headcontact a:hover {
	background: #fff;
	border: 2px solid #FFF;
	color: #c1272d;
	font-size:12px;
	font-weight:500;
	text-decoration:none;
	text-align:center;
	vertical-align:middle;
}

.headcontact a:before {
	content: url(../img/icon_03.svg);
	position: absolute;
	top: 16px;
	left: 25px;
}
.headcontact a:hover:before {
	content: url(../img/icon_04.svg);
	position: absolute;
	top: 16px;
	left: 25px;
}
.main {
	margin:0 auto;
	padding:49px 0 0;
	width:960px;
}
.keyvisual {
	margin:0 0 120px;
	width:960px;
	position:relative;
}
.news {
	margin:0 auto;
	width:960px;
}
.index_news {
	width:240px;
	position:absolute;
	bottom:-58px;
	left:6px;
}
.news_title {
	font-size:12px;
	position:absolute;
	bottom:-33px;
	left:268px;	
}
.news_title span {
	padding:0 30px 0 0;
}
.index_lead {
	margin:0 auto 120px;
	display: -webkit-flex;
	display: flex;
}
.leadimg {
	margin:0 36px 0 6px;
	width:250px;
}
.leadtext {
	margin:40px 0 0;
	width:640px;
}
.leadtext h2 {
	margin:0 0 12px;
	padding: 0 0 0 10px;
	font-size:22px;
	text-align:left;
	position:relative;
}
.leadtext h2:before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	z-index: 9;
	width: 4px;
	height: 26px;
	background: #c1272d;
	border-radius: 2px;
	-ms-border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
}
.leadtext_sub {
	margin:0 0 64px;
	font-size:16px;
	line-height:28px;
}
.detailguide {
	margin:60px auto 0;
	text-align:center;
	position:relative;
}
.detailguide a:before {
	content: url(../img/icon_05.svg);
	position: absolute;
	top: -26px;
	right: 18px;
}
.detailguide a {
	padding:8px 0 0 0;
	margin: 0;
	display: inline-block;
	width:198px;
	height:36px;
	background: #e6e6e6;
	border: 1px solid #cccccc;
	border-radius: 30px;
	color: #000;
	cursor: pointer;
	transition: all 0.3s ease 0s;
	font-size:16px;
	font-weight:500;
	text-decoration:none;
	text-align:center;
	vertical-align:middle;
}
.detailguide a:hover {
	background: #c1272d;
	border: 1px solid #c1272d;
	color: #FFF;
	font-size:16px;
	font-weight:500;
	text-decoration:none;
	text-align:center;
	vertical-align:middle;
}
.leadimg02 {
	margin:0 20px 0 6px;
	width:420px;
}
.leadtext02 {
	margin:20px 0 0;
	width:520px;
}
.leadtext02 h2 {
	margin:0 0 12px;
	padding: 0 0 0 10px;
	font-size:22px;
	text-align:left;
	position:relative;
}
.leadtext02 h2:before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	z-index: 9;
	width: 4px;
	height: 26px;
	background: #c1272d;
	border-radius: 2px;
	-ms-border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
}
.detailguide02 {
	margin:60px auto 0;
	text-align:right;
	position:relative;
}
.detailguide02 a:before {
	content: url(../img/icon_06.svg);
	position: absolute;
	top: -26px;
	right: -10px;
}
.detailguide02 a {
	padding:8px 0 0 0;
	margin: 0;
	display: inline-block;
	width:198px;
	height:36px;
	background: #e6e6e6;
	border: 1px solid #cccccc;
	border-radius: 30px;
	color: #000;
	cursor: pointer;
	transition: all 0.3s ease 0s;
	font-size:16px;
	font-weight:500;
	text-decoration:none;
	text-align:center;
	vertical-align:middle;
}
.detailguide02 a:hover {
	background: #c1272d;
	border: 1px solid #c1272d;
	color: #FFF;
	font-size:16px;
	font-weight:500;
	text-decoration:none;
	text-align:center;
	vertical-align:middle;
}

.footer {
	margin:0 auto;
	width:100%;
	padding:15px 10px 10px;
	background: #c1272d;
	text-align:left;
	color:#FFF;
	font-size:12px;
}
.footerlink {
	margin:0 auto;
	width:960px;
	display: -webkit-flex;
	display: flex;
}
.footerlink div {
	margin:0 30px 12px 0;
	padding: 0 0 0 8px;
	text-align:left;
	position:relative;
}
.footerlink div:before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	z-index: 9;
	width: 4px;
	height: 13px;
	background: #FFF;
	border-radius: 2px;
	-ms-border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
}
.footerlink div a {
	color:#FFF;
	text-decoration:none;
}
.footerlink div a:hover {
	color:#FFF;
	text-decoration:underline;
}
.copy {
	margin:0 auto;
	width:960px;
}

/* SUBPAGES */
.keyvisual_subimg {
	margin:20px auto 0;
	width:960px;
}
.titles {
	margin:0 auto;
	width:960px;
}
.sub_title {
	width:240px;
	position:absolute;
	bottom:-58px;
	left:6px;
}
.subpage_title {
	font-size:12px;
	position:absolute;
	bottom:-33px;
	left:268px;	
}
.subpage_title span {
	padding:0 30px 0 30px;
	position:relative;
}
.subpage_title span:before {
	content: url(../img/icon_07.svg);
	position: absolute;
	top: 1px;
	left: 0;
}
.subpage_title span:after {
	content: url(../img/icon_08.svg);
	position: absolute;
	top: 0;
	right: 11px;
}
.subpage_title span a {
	color:#c1272d;
	text-decoration:underline;
}
.subpage_title span a:hover {
	color:#c1272d;
	text-decoration:none;
}
.subabout {
	margin: 0 auto;
	padding: 0 0 60px;
	width: 760px;
	box-sizing: border-box;
}
.subabout ul {
	width:100%;
}
.subabout li {
	display: -webkit-flex;
	display: flex;
	margin-bottom: 35px;
	padding-bottom: 32px;
	border-bottom: 1px solid #EFEFEF;
}
.subabout li span {
	display: block;
	width: 11em;
	margin-bottom: 0;
	font-size: 16px;
	font-weight:700;
	line-height: 2;
}
.abouttext {
	width: calc(100% - 11em);
	font-size: 16px;
	font-weight:400;
	line-height: 2;
}
.abouttext a {
	color:#c1272d;
	text-decoration:none;
}
.abouttext a:hover {
	color:#c1272d;
	text-decoration:underline;
}

/* CONTACT */
input[type='text']{ outline: none;}
input[type='text']{
	width:90%;
	height:40px;
	padding: 5px 12px;
	font-size:16px;
	border-radius: 4px;
	border: 1px solid #D6D6D6;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.abouttext {position:relative;z-index:10;}

.contactcheck label{
	padding:0 0 10px 0;
	margin-right: 40px;
	display: block;
}

.contactcheck input{
	display: none;
}

.contactcheck input + div{
	padding-left: 33px;
	position:relative;
}

.contactcheck input + div::before{
	content: "";
	background-image: url(../img/check.svg);
	background-size: contain;
	display: block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 24px;
	height: 24px;
}

.contactcheck input:checked + div{
	color: #262626;
}

.contactcheck input:checked + div::after{
	content: "";
	background-image: url(../img/checked.svg);
	background-size: contain;
	display: block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 24px;
	height: 24px;
}

textarea{
	width:90%;
	height: 200px;
	padding: 12px 12px 0 12px;
	font-size:16px;
	border-radius: 4px;
	border: 1px solid #D6D6D6;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.cnt_btn input[type='submit'] {
	margin: 0 0 50px 5%;
	padding: 1em 0;
	display: inline-block;
	width:90%;
	background: #fff;
	border: 2px solid #c1272d;
	border-radius: 2px;
	color: #c1272d;
	cursor: pointer;
	transition: all 0.3s ease 0s;
	font-size:18px;
	font-weight:bold;
	text-decoration:none;
	text-align:center;
}
.cnt_btn input[type='submit']:hover {
	background: #c1272d;
	color: #fff;
	font-size:18px;
	font-weight:bold;
	text-decoration:none;
	text-align:center;
}
.error {
	margin:0 0 60px;
	font-size:14px;
}
.thanks {
	margin:0 auto 700px;
	width:960px;
}
.thanks a {
	color:#c1272d;
	text-decoration:none;
}
.thanks a:hover {
	color:#c1272d;
	text-decoration:underline;
}

























