@charset "UTF-8";
/*----------------------------------------------------------------------

Setting

----------------------------------------------------------------------*/
@import "normalize.css";
html { background-color: #fff; height: 100%; }
body {
	color: #101010;
	font-family: 'Noto Serif JP', serif;
	font-weight: 300;
	letter-spacing: .03em;
	overflow-wrap: break-word;
	word-wrap: break-word;
	width: 100%;
	height: 100%;
}
a:hover img , a:hover {
	opacity: 0.9;
	filter: alpha(opacity=90);
	-moz-opacity: 0.9;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
#container {
	overflow: hidden;
	position: relative;
}
.container {
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}
#main {
	width: 1036px;
	margin: 0 auto;
	padding: 90px 0 0;
	position: relative;
	box-sizing: border-box;
}
main {
	margin: 0 auto;
	padding: 0;
	position: relative;
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
p {
	font-size: 18px;
	line-height: 1.5;
}

/*----------------------------------------------------------------------

Animation Style

----------------------------------------------------------------------*/
.opacity:hover {
	opacity: 0.9;
	filter: alpha(opacity=90);
	-moz-opacity: 0.9;
	text-decoration:none;
}
a:link, a:visited {
	text-decoration: none;
	color: #000;
}
@media only screen and (min-width: 769px) {
.sp-only {
	display: none !important;
}
}

/*----------------------------------------------------------------------

Title Style

----------------------------------------------------------------------*/
.ttl-a {
	font-size: 40px;
	padding-bottom: 15px;
	margin-bottom: 15px;
	color: #11376B;
	font-weight: bold;
	border-bottom: 5px solid #11376B;
	display: flex;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}
.ttl-a p {
	flex-direction: column;
	margin-top: auto;
	font-size: 24px;
	color: #000;
	font-weight: normal;
}
.ttl-a p span {
	color: #D70C18;
}
.ttl-b {
    color: #fff;
    font-size: 32.54px;
    text-align: center;
    background-color: #11376B;
    margin-bottom: 55px;
    height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.4;
}

/*----------------------------------------------------------------------

Header Style

----------------------------------------------------------------------*/
.header-box {
	width: 1300px;
	display: flex;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	background-color: #11376B;
	box-sizing: border-box;
	padding: 25px;
}
.header-message {
	width: 380px;
	box-sizing: border-box;
	padding-top: 100px;
}
.header-message span {
	color: #fff;
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 15px;
	display: block;
	line-height: 1.4;
}
.header-message p {
	color: #fff;
	font-size: 24px;
	line-height: 1.8;
}
.header-box img {
	width: 500px;
}
#header-logo img {
	width: 150px;
}
.header-info {
	width: 370px;
	box-sizing: border-box;
	text-align: right;
	justify-content: flex-end;
	display: flex;
}
.header-info a {
	display: block;
	margin-bottom: 55px;
}
.header-info img {
	width: 150px;
	display: inline-block;
}
.header-info li {
	color: #fff;
	font-size: 19px;
	line-height: 1.5;
}
.header-info li:first-child {
	font-size: 20px;
	margin-bottom: 17px;
}
.header-info li:first-child span {
	font-size: 17px;
}

/*----------------------------------------------------------------------

Gnav Style

----------------------------------------------------------------------*/
#gnav {
	width: 100%;
	border-bottom: 2px solid #11376B;
	box-sizing: border-box;
	margin: 0 auto;
}
#gnav ul {
	max-width: 1080px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}
#gnav ul li {
	font-size: 20px;
	font-weight: bold;
	padding: 12px;
}
#gnav ul li a {
	color: #11376B;
	display: block;
}

/*----------------------------------------------------------------------

Intro Style

----------------------------------------------------------------------*/
#intro {
	background-color: #F0E7C1;
	padding: 35px;
	margin-bottom: 90px;
}
.intro-box h2 {
	font-size: 40px;
	color: #11376B;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 15px;
}
.intro-box h2 span {
	font-size: 30px;
}
.intro-box ul {
	display: flex;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}
.intro-box ul li {
	width: 23%;
}

/*----------------------------------------------------------------------

Product Style

----------------------------------------------------------------------*/
#product {
	background-color: #E1C3CC;
	margin-bottom: 90px;
}
#product a {
	box-sizing: border-box;
}
.product-box {
	display: flex;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 25px;
	box-sizing: border-box;
}
.product-img {
	width: 230px;
}
.product-txt {
	width: 740px;
	box-sizing: border-box;
}
.product-txt h2 {
	font-size: 40px;
	font-weight: bold;
	color: #11376B;
	margin-bottom: 10px;
}
.product-txt p {
	font-size: 24px;
	line-height: 1.4;
	font-weight: bold;
}

/*----------------------------------------------------------------------

Greeting Style

----------------------------------------------------------------------*/
#greeting {
	margin-bottom: 90px;
}
#greeting p {
	font-size: 24px;
	line-height: 1.6;
	font-weight: bold;
}

/*----------------------------------------------------------------------

Company Style

----------------------------------------------------------------------*/
#company {
	margin-bottom: 90px;
}
#company dl {
	display: flex;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	border-bottom: 2px solid #B4B4B5;
	padding-bottom: 12px;
	margin-bottom: 12px;
}
#company dl:last-child {
	border-bottom: 5px solid #11376B;
}
#company dl dt {
	width: 305px;
	font-size: 22px;
	line-height: 1.5;
	font-weight: bold;
}
#company dl dd {
	font-size: 22px;
	line-height: 1.5;
	font-weight: bold;
}

/*----------------------------------------------------------------------

Privacy Style

----------------------------------------------------------------------*/
#privacy {
	margin-bottom: 90px;
}
#privacy p {
	font-size: 21px;
	line-height: 1.7;
	font-weight: bold;
}

/*----------------------------------------------------------------------

Footer Style

----------------------------------------------------------------------*/
footer {
	background-color: #11376B;
	padding: 25px 0 10px;
	box-sizing: border-box;
}
.contact footer {
	background-color: #fff;
}
footer .container {
	max-width: 1080px;
}
.footer-nav {
	width: 100%;
	margin: 0 auto;
}
.footer-nav ul {
	width: 100%;
	display: flex;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 0 auto 50px; 
}
.footer-nav li {
	font-size: 20px;
	font-weight: bold;
}
.footer-nav li a {
	color: #fff;
	display: block;
}
.footer-info ul li {
	line-height: 1.5;
}
.footer-info > ul > li {
	color: #fff;
}
.footer-info > ul > li a {
	color: #fff;
}
.footer-info > ul > li:first-child {
	font-size: 38px;
	text-align: center;
}
.footer-info ul ul {
	max-width: 950px;
	width: 100%;
	margin: 0 auto 25px;
	display: flex;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-around;
}
.footer-info ul ul li {
	font-size: 20px;
}
.copyright p {
	font-size: 15px;
	text-align: center;
	color: #fff;
}
.contact footer .copyright p {
	color: #888888;
}

/*----------------------------------------------------------------------

Contact Style

----------------------------------------------------------------------*/
#form {
	width: 100%;
	margin: 0 auto 70px;
}
#form table {
	width: 100%;
	margin-bottom: 25px;
}
#form table th {
	width: 185px;
	vertical-align: middle;
	font-size: 24px;
	text-align: left;
}
#form table tr:last-child th {
	vertical-align: top;
	padding-top: 30px;
}
#form table th span {
	color: #D70C18;
}
#form table td {
	width: 610px;
	font-size: 18px;
	padding-bottom: 17px;
	padding-top: 17px;
}
#form table td input[type="text"] {
	width: 100%;
	border: 2px solid #ccc;
	padding: 10px;
	font-size: 18px;
	box-sizing: border-box;
}
#form table td textarea {
	width: 100%;
	border: 2px solid #ccc;
	padding: 10px;
	box-sizing: border-box;
}
#submit {
	width: 260px;
	background-color: #11376B!important;
	box-sizing: border-box;
	margin: 0 auto;
	color: #fff;
	font-size: 24.97px;
	border: none;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#submit-sub {
	width: 260px;
	background-color: #11376B!important;
	box-sizing: border-box;
	margin: 0 auto 30px;
	color: #fff;
	font-size: 24.97px;
	border: none;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#submit:hover , #submit-sub:hover {
	opacity: 0.85;
}
.form-submit {
	text-align: center;
	margin: 0 auto;
}
.contact-note {
	text-align: center;
	margin-bottom: 30px;
}
.error , .msg {
	color: #FF1727;
	font-weight: bold;
}
.contact .container .txt,
.contact .container .error,
.contact .container .msg {
	line-height: 1.7;
	margin-bottom: 30px;
}