@charset "utf-8";
/* CSS Document */
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-style:normal;
    font-weight: normal;
    font-size: 100%;
}
ul,dl {
	margin:0;
	padding:0;
	list-style:none;
}
img {
	max-width: 100%;
}

body,html {
	color:#000;
	font-size:16px;
	font-family: 'Century Gothic', Futura, Arial, Helvetica, YuGothic,'Hiragino Kaku Gothic ProN','Yu Gothic', Meiryo;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

@media screen and (min-width:1025px){
	.display_only_sp {
		display:none;
	}
}

@media screen and (max-width:1024px){
	.display_no_sp {
	display:none!important;
	}
}
@media screen and (min-width:599px){
	.display_only_smallsp {
	display:none!important;
	}
}

a {
	text-decoration: none;
	color: #000;
	transition: 0.8s;
}
button {
	transition: 0.8s;
}
a:visited {
	color: #000;
}

.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 48
}
.material-icons, .material-symbols-outlined{
display: inline-flex;
vertical-align: middle;
}

/***スマホ用下部固定ボタン***/

.go_contact_sp_bottom {
	display: none;
}


@media screen and (max-width:599px){

	.go_contact_sp_bottom {
	display: block;
	z-index: 1000;
	}
	.go_contact_sp_bottom a {
	position: fixed;
	right: 20px;
	bottom: 20px;
	display: block;
	width: 86px;
	height: 86px;
	padding-top: 14px;
	text-align: center;
	background: #c82e19;
	border-radius: 50%;
	font-weight: bold;
	color: #fff;
	line-height: 1.1em;
	}
	.go_contact_sp_bottom a span {
		display: block;
	}

}

/***共通***/
.contents-area-w {
	max-width: 1024px;
	margin: 0 auto;
	padding: 40px 0;
}
.submit-basic01 a {
	display: block;
	max-width: 1024px;
	height: 60px;
	margin: 20px auto;
	background: #c82e19;
	border-radius: 2px;
	line-height: 60px;
	font-weight: bold;
	font-size: 28px;
	text-align: center;
	color: #fff;
}
.submit-basic01 a:hover {
	font-size: 30px;
	background: #d63221;
}

.go-detail01 {
	max-width: 400px;
	height: 60px;
	margin: 40px 0;
}
.go-detail01 a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 12px;
	background: #003b7d;
	border-radius: 2px;
	font-weight: bold;
	font-size: 20px;
	color: #fff;
}
.go-detail01 a:hover {
	background: #045196;
}



@media screen and (max-width:1024px){
	.contents-area-w {
	margin: 0;
	padding: 30px 10px;
	}
	p.submit-basic01 a {
	font-size: 22px;
	}
	p.submit-basic01 a:hover {
	font-size: 22px;
	}
	.go-detail01 {
	margin: 30px auto;
}
}
/****各ページ共通　冒頭文****/

.top-summary {
	max-width: 1024px;
	margin: 0 auto;
	padding: 40px 0;
}
.top-summary h2 {
	font-weight: bold;
	font-size: 28px;
	text-align: center;
}

.top-summary p.top-msg {
	margin: 40px 0;
	font-weight: bold;
	font-size: 22px;
	line-height: 1.4em;
	text-align: center;
	color: #003b7d;
}

.top-summary .top-text {
	margin: 40px 0;
	font-weight: normal;
	text-align: left;
	color: #000;
}
.top-summary .top-text p {
	margin-bottom: 20px;
}
.top-summary .top-text p span {
	background-image: linear-gradient(to right, rgb(252, 236, 116), rgb(252, 236, 116));
	background-position: center bottom;
	background-size: 100% 40%;
	background-repeat: no-repeat;
}
.top-summary .top-chiiki {
	border: solid 1px #1a1a1a;
	margin-top: 40px;
	padding: 40px;
}
.top-summary .top-chiiki h3 {
	font-weight: bold;
	font-size: 22px;
	margin-bottom: 20px;
}
.top-summary .top-chiiki p:last-of-type {
	margin-top: 15px;
}

@media screen and (max-width:1024px){
	.top-summary {
	padding: 20px 10px;
	}

	.top-summary p.top-msg {
	margin: 30px 0;
	}

	.top-summary .top-chiiki {
	margin-top: 30px;
	padding: 20px;
	}
}


/*** ヘッダー ***/

header {
	margin: 0;
	width: 100%;
	height: 70px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background:rgba(255,255,255,0.8);
	backdrop-filter: blur(5px);
	z-index: 10;
}

header .header-contents {
	display: flex;
	justify-content: flex-end;
	overflow:hidden;
}

header .header-contents .header-title-area {
	display: flex;
	margin-right: auto;
	position: relative;
}
header .header-contents .header-title-area a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
header .header-contents .header-title-area img:first-of-type {
	width: 66px;
	height: 66px;
	padding: 3px 5px;
}
header .header-contents .header-title-area h1 {
	font-weight: bold;
	font-size: 26px;
	padding-left: 8px;
	padding-top: 3px;
	line-height: 1.0em;
}
header .header-contents .header-title-area h1 span {
	font-weight: bold;
	display: block;
}
header .header-contents .header-title-area h1 span.h1-copy {
	font-weight: normal;
	font-size: 16px;
}
header .header-contents .header-title-area h1 img:first-of-type {
	width: 177px;
	height: 33px;
}

header nav {
	display: flex;
}

header nav ul {
	display: flex;
}
header nav ul li {
	height: 100%;
	padding: 0;
	margin: 0 1px;
}
header nav ul li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 20px 25px;
	text-align: center;
	font-weight: 600;
	font-size: 18px;
	color: #000;
}
header nav ul li:last-of-type a {
	background: #c82e19;
	color: #fff;
}
header nav ul li:last-of-type a:hover {
	background: #d63221;
	color: #fff;
}
header nav ul li a span {
	display: block;
	font-weight: normal;
	font-size: 14px;
	color: #189e2e;
	
}
header nav ul li a:hover {
	background: #f2f2f2;
	color: #070707;
	transition: 0s;
}
.header-contact-sp {
	display: none;
}
.btn-gNav {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 24px;
    z-index: 12;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}

.btn-gNav span {
    position: absolute;
    width: 100%;
    height: 4px;
    background: #000;
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}

.btn-gNav span:nth-child(1) {
    top: 0;
}

 .btn-gNav span:nth-child(2) {
    top: 10px;
}

.btn-gNav span:nth-child(3) {
    top: 20px;
}

.btn-gNav.open span:nth-child(1) {
    background: #fff;
    top: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.btn-gNav.open span:nth-child(2),
.btn-gNav.open span:nth-child(3) {
    top: 6px;
    background: #fff;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.btn-gNav {
    display: none;
}

@media screen and (max-width:1024px){
	header {
	height: 60px;
	}
	header .header-contents .header-title-area img:first-of-type {
	width: 55px;
	height: 55px;
	padding: 4px;
	}
	header .header-contents .header-title-area h1 {
	font-size: 20px;
	padding-left: 4px;
	padding-top: 4px;
	letter-spacing: -0.05em;
	}
	header .header-contents .header-title-area h1 span.h1-copy {
	font-size: 15px;
	}
	header nav ul li {
	height: 70px;
}
	header nav ul li:first-of-type, header nav ul li:nth-of-type(2), header nav ul li:nth-of-type(3)  {
	/*display: none;*/
	}
	header nav ul li a {
	
	}
	.btn-gNav {
        display: block;
    }

    .gNav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.8);
        font-size: 16px;
        box-sizing: border-box;
        z-index: 1;
        padding-top: 50px;
        transition: .3s;
    }

    .gNav.open {
        right: 0;
    }

    .gNav .gNav-menu {
        padding: 0;
        width: 100%;
        height: 100%;
        display: block;
        flex-direction: row;
		flex-wrap: wrap;
        text-align: center;
        /*justify-content: center;*/
    }

    .gNav .gNav-menu li {
        width: 100%;
        padding: 0;
        border-bottom: #525252 1px solid;
    }
	.gNav .gNav-menu li a {
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 20px;
	text-align: center;
	font-weight: 600;
	font-size: 18px;
	color: #fff;
	}
	.gNav .gNav-menu li:last-of-type a {
		background: none;
	}
	.gNav .gNav-menu li a:hover {
	background: none;
	color: #269ac2;
	transition: 0s;
}
	.header-contact-sp {
		display: block;
		margin: 3px 70px 0 0;
	}
	.header-contact-sp a {
		display: block;
		width: 80px;
		height: 53px;
		line-height: 53px;
		background: #c82e19;
		border-radius: 3px;
		text-align: center;
		font-weight: bold;
		color: #fff;
	}
}
@media screen and (max-width:599px){
	.header-contact-sp {
		display: none;
	}
}


/***12 問い合わせ汎用***/

.contact-basic {
	max-width: 800px;
	padding: 40px 0;
	margin: 0 auto;
}

.contact-basic h2 {
	font-weight: bold;
	font-size: 22px;
	line-height: 1.0em;
	text-align: center;
}
.contact-basic h2 span {
	display: block;
	font-size: 18px;
	color: #269ac2;
}
.contact-top {
	margin: 40px 0;
	font-weight: bold;
	font-size: 20px;
	text-align: center;
}

.contact-contents-wrapper {
	display: flex;
	justify-content: space-between;
}

.contact-contents-wrapper .contact-col01 {
	width: 50%;
	padding-top: 20px;
}
.contact-contents-wrapper .contact-col01 p:nth-of-type(2){
	font-wight: bold;
	font-size: 38px;
	margin-top: 40px;
}
.contact-contents-wrapper .contact-col01 p:nth-of-type(2) span{
	font-wight: bold;
	font-size: 38px;
}
.contact-contents-wrapper .contact-col01 p:nth-of-type(3) {
	margin-bottom: 40px;
	font-weight: normal;
	font-size: 16px;
}

@media screen and (max-width:1024px){
	.contact-basic {
	padding: 30px 10px;
	}
}
@media screen and (max-width:599px){
	.contact-top {
	margin: 30px 0;
	}

	.contact-contents-wrapper {
	flex-direction: column;
	}

	.contact-contents-wrapper .contact-col01 {
	width: 100%;
	padding-top: 0;
	}
	.contact-contents-wrapper .contact-col01 p:nth-of-type(2){
	font-wight: bold;
	font-size: 32px;
	margin-top: 20px;
	}
	.contact-contents-wrapper .contact-col01 p:nth-of-type(2) span{
	font-wight: bold;
	font-size: 32px;
	}
	.contact-contents-wrapper .contact-col01 p:nth-of-type(3) {
	margin-bottom: 20px;
	}
	.contact-contents-wrapper img {
		display: none;
	}
}



/***会社概要***/

.corp-eyecatch {
	height: 480px!important;
	background:url("image/corp/corp-top-pc.jpg") center top no-repeat;
	background-size: cover;
}
.corp-contents {
	max-width: 1024px;
	margin: 0 auto;
	padding: 60px 0;
}
.corp-contents h2 {
	font-weight: bold;
	font-size: 32px;
	margin-bottom: 40px;
}
.corp-contents p {
	margin-bottom: 20px;
}

.corp-contents p.go-back a {
	display: block;
	width: 100%;
	height: 60px;
	background: #e6e6e6;
	border-radius: 2px;
	margin: 30px 0 100px 0;
	font-weight: bold;
	text-align: center;
	line-height: 60px;
}
.corp-contents p.go-back a:hover {
	background: #fff;
	border: solid 1px #848484;
	color:#545454;
}
.corp-contents table {
	max-width: 700px;
	margin: 40px auto;
}
.corp-contents table th {
	width: 20%;;
	padding: 15px;
	margin: 2px;
	white-space: nowrap;
	font-weight: bold;
	color: #269ac2; 
	text-align: right;
	border-bottom: solid 1px #269ac2;
}
.corp-contents table td {
	padding: 15px;
	margin: 2px;
	border-bottom: solid 1px #848484;
}
.corp-contents table a {
	text-decoration: underline;
	margin-bottom: -5px;
	 text-underline-offset :2px;
}
@media screen and (max-width:1024px){
	.corp-eyecatch {
	height: 320px!important;
	background:url("image/corp/corp-top-sp.jpg") center top no-repeat;
	background-size: cover;
	}
	.corp-contents {
		padding: 30px 10px;
	}
	.corp-contents h2 {
	font-size: 24px;
	margin-bottom: 30px;
	text-align: center
	}
	.corp-contents p.go-back a {
	margin: 30px 0;
	}
	.corp-contents table {
	margin: 30px auto;
	}
	.corp-contents table th {
	display: block;
	width: 100%;
	padding: 10px;
	background: #f2f2f2;
	border-radius: 3px;
	color: #000; 
	text-align: center;
	border-bottom: solid 1px #269ac2;
	}
	.corp-contents table td {
	display: block;
	width: 100%;
	margin: 2px;
	border-bottom: none;
	}

}


/***フッター***/

footer {
	background: #333;
}
footer .footer-wrapper {
	max-width: 720px;
	margin: 0 auto;
	padding: 40px 0;
}
footer h1 {
	text-align: center;
}
footer .footer-wrapper .footer-link {
	margin: 40px 0;
	display: flex;
	justify-content: space-between;
}
.footer-link dl dt {
	font-wight: bold;
	font-size: 24px;
	margin-bottom: 20px;
	color: #269ac2;
}
.footer-link dl dd {
	list-style-type: circle!important;
	color:#269ac2!important;
}

.footer-link dl dd a {
	color: #f2f2f2!important;
} 
.footer-link dl dd a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
} 

.copyright {
	border-top: solid 1px #f2f2f2;
	padding: 18px 0;
	text-align: center;
	color: #f2f2f2;
}

@media screen and (max-width:1024px){
	footer .footer-wrapper {
	padding: 30px 10px;
	}
	footer .footer-wrapper .footer-link {
	margin: 30px 0;
	flex-direction: column;
	}
	.footer-link dl dt {
	margin-top: 30px;
	}
}