@charset "UTF-8";
:root {

--main-color: #00357f;
}


html,
body{overflow-x: hidden;}
.gothic{font-family:Zen Kaku Gothic New;}
body {font-family: "Shippori Mincho", serif;font-feature-settings: "palt";}
#wrap{}
h1{}


.pc {display: block;}
.sph {display: none;}
@media screen and (max-width: 767px) {
.pc {display: none;}
.sph {display: block;}
}




h2.block_title {font-size: 40px;line-height: 1.6;font-weight: 600; letter-spacing: .2em;}
p.block_text {font-size: 24px;line-height: 2;letter-spacing: .2em;padding: 50px 0 0;}
@media (max-width: 1580px) {
h2.block_title {font-size: 2.53vw;}
p.block_text {font-size: 1.51vw;padding: 3.79vw 0 0;}
}
@media screen and (max-width: 767px) {
h2.block_title {font-size: 4.76vw;width: 90%;margin: auto;}
p.block_text {font-size: 3vw;padding: 5vw 0 0;width: 100%;margin: auto;}
}





#header{}
header {
width: 100%; 
height: 100px; 
box-sizing: border-box;top: 0; 
left: 0; 
display: flex; 
align-items: center; 
z-index: 99;}
.header_back {width: 100%;height: 100px;position: relative; }
.header_back .logo {width: 132px;height: auto;position: absolute;top: 50%;left: 50px;transform: translateY(-50%);-webkit- transform: translateY(-50%) ;}
.header_back .logo img {width: 100%;height: auto;}
.header_back h1 {font-size: 2vw;line-height: 1.6;font-weight: 500;color: #fff; position: absolute;left: 0;top: 0;transition-property: scale;transition-duration: 1s;width: auto;height: auto;}
.header_back h1 a {color: #fff;text-decoration: none;}
.header_back h1 img {width: auto;height: 100%;transition-property: scale;transition-duration: 1s;height: 80px;}
.header_back2 {}
.header_back2 h1 {font-size: 2vw;line-height: 1.6;font-weight: 500;color:  var(--main-color); position: absolute;left: 40px;top: 30px;transition-property: top;transition-duration: 1s;}
.header_back2 h1 a {color:  var(--main-color);text-decoration: none;}

ul.header_menu {
position: absolute;top: 50%;right: 380px;transform: translateY(-50%);-webkit- transform: translateY(-50%);transition-property: top;transition-duration: 1s;z-index: 99;}
ul.header_menu {
display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}
ul.header_menu li { border-right: 1px solid var(--main-color);}
ul.header_menu li a {font-size: 16px;line-height: 1.6; color:  var(--main-color);padding:.5em .8em;text-decoration: none;transition-property: top;transition-duration: 1s;}
ul.header_menu li a:hover {color: #fff;}
ul.header_menu li:hover{color: #fff;}
ul.header_menu li {position: relative;}
ul.header_menu li::before {position: absolute;left: 0;width: 0;height: 100%;content: "";background-color: var(--main-color);color: #fff!important;transition: 0.3s;z-index: -1;}

ul.header_menu li:hover::before {
width: 100%;color: #fff;
}

ul.header_menu li:first-child {margin-left: 0;}
ul.header_menu li:last-child {border-right:none;}

ul.header_menu li ul {}
ul.header_menu li ul li {white-space: nowrap;border: none;}



.header_menu .dropdown:hover {color: #fff;}
.header_menu .dropdown:hover .dropdown-menu {
display: block;opacity: 1;visibility: visible;}
.header_menu .dropdown-menu {
display: none;opacity: 0;visibility: hidden;position: absolute;background: #fff;z-index: 100;}
.header_menu .dropdown:hover > a {
color: #fff;}




.header_menu2 {position: absolute;top: 2.5vw;right: 40px;transition-property:top;transition-duration: 1s;}
.header_menu2 ul {
display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}
.header_menu2 ul li {font-size: 1.2vw;line-height: 1.6;}
.header_menu2 ul li a {color:  var(--main-color);text-decoration: none;transition-property: top;transition-duration: 1s;}
.header_menu2 ul li a:hover {text-decoration: underline;}

.header_contact {width: 300px; position: absolute;top: 50%;right: 50px;transform: translateY(-50%);-webkit- transform: translateY(-50%);}
.header_contact .main_contact_btn.btn_slide {border: 1px solid var(--main-color);}

@media screen and (max-width: 1580px) {
header {height: 6.32vw;}
.header_back {height: 6.32vw;}
.header_back .logo {width: 8.35vw;}
ul.header_menu {right: 24.05vw;}

ul.header_menu li a {font-size: 1.01vw;}


ul.header_menu li:first-child {margin-left: 0;}
ul.header_menu li:last-child {border-right:none;}

.header_menu2 {top: 2.5vw;right:2.53vw;}
.header_menu2 ul li {font-size: 1.2vw;}
.header_contact {width: 18.98vw;right: 3.16vw;}
/*
header {
position: fixed;width: 100%; 
height: 80px; 
box-sizing: border-box;top: 0; 
left: 0; 
display: flex; 
align-items: center; 
z-index: 99;}
.header_back {}
.header_back h1 {font-size: 2vw;line-height: 1.6;font-weight: 500;color: #fff; position: absolute;left: 0;top: 0;width: auto;height: auto;}
.header_back h1 a {color: #fff;text-decoration: none;}
.header_back h1 img {width: auto;height: 100%;height: 80px;}
.header_back2 {}
.header_back2 h1 {font-size: 2vw;line-height: 1.6;font-weight: 500;color:  var(--main-color); position: absolute;left: 40px;top: 30px;}
.header_back2 h1 a {color:  var(--main-color);text-decoration: none;}

ul.header_menu {
font-family: "Belleza", sans-serif;position: absolute;top: 3.5vw;right: 40px;}
ul.header_menu {
display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}
ul.header_menu li {font-size: 1.8vw;line-height: 1.6;font-weight: 500;margin-left: 2em;}
ul.header_menu li a {color:  var(--main-color);text-decoration: none;
}
ul.header_menu li a:hover {text-decoration: underline;}
ul.header_menu li:first-child {margin-left: 0;}

.header_menu2 {position: absolute;top: 2.5vw;right: 40px;}
.header_menu2 ul {
display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}
.header_menu2 ul li {font-size: 1.2vw;line-height: 1.6;font-weight: 500;}
.header_menu2 ul li a {color:  var(--main-color);text-decoration: none;}
.header_menu2 ul li a:hover {text-decoration: underline;}
*/
}
@media screen and (max-width: 767px) {
.header_back {height: 48px;}

.header_back .logo {width: auto;height: 38px;left: 10px;}
.header_back .logo img {height: 38px;width: auto;}

}







@media screen and (max-width: 767px) {
/*開閉用ボタン（ハンバーガーボタン）*/
.menu-btn {
position: fixed;top: 18px;right: 3%;width: 50px;height: 50px;border-radius: 50%;cursor: pointer;z-index: 101;border: solid 1px #333;-webkit-transition: all 3s ease-in-out;transition: all .3s ease-in-out;}
.menu-btn-line {
position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;height: 1px;width: 30%;background: #333;-webkit-transition: all 3s ease-in-out;transition: all .3s ease-in-out;}
.menu-btn-line::before,
.menu-btn-line::after {
content: "";height: 1px;width: 100%;background: #333;position: absolute;left: 0;-webkit-transition: inherit;transition: inherit;}
.menu-btn-line::before{
top: -5px;}
.menu-btn-line::after{
top: 5px;}

/* 開閉用ボタンがクリックされた時のスタイル */
.open .menu {
-webkit-transition: all .5s;transition: all .5s;visibility: visible;opacity: 1;}
.open .menu-btn {
border-color: #fff
}
.open .menu-btn-line{
background-color: transparent;}
.open .menu-btn-line::before,
.open .menu-btn-line::after {
top: 0;background: #fff
}
.open .menu-btn-line::before {
-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);transform: rotate(45deg);}
.open .menu-btn-line::after {
-webkit-transform: rotate(-45deg);-ms-transform: rotate(-45deg);transform: rotate(-45deg);}

/*開いたメニュー*/
.menu {
position: fixed;display: flex;justify-content: center;top: 0;left: 0;width: 100%;height: 100%;background: rgba(1,1,1,.9);-webkit-transition: all .5s;transition: all .5s;visibility: hidden;opacity: 0;z-index: 100;}
.menu ul {
transform: translateY(30%);padding: 0;list-style-type: none
}
.menu li {
width: 100%;height: 50px;line-height: 50px;text-align: center;}
.menu li a {
display: block;font-size: 1.4rem;color: #fff;text-decoration: none;-webkit-transition: all .2s;transition: all .2s;}
.menu li a:hover {
transform: translateX(5px);-webkit-transition: all .2s;transition: all .2s;}
}





/*-------------------------
__content
-------------------------*/
.topic_path{clear:both;padding:0 0 20px;}
.topic_path ul{width:100%;text-align:left;}
.topic_path li{font-size:1.4em;line-height:1.4;font-weight:700;color:#000;vertical-align:top;display:inline-block;}
.topic_path li:before{content:">";color:#000;font-weight:400;margin-left:5px;margin-right:5px;}
.topic_path li:first-child:before{content:"";margin:0;}
.topic_path li a{font-weight:400;color:#04C;text-decoration:underline;}
.topic_path li a:hover{text-decoration:none;}

#content #main{display:block;}

/*-------------------------
__footer
-------------------------*/
#footer{}
.re_top{}


.re_top{display:none;height:50px;width:50px;overflow:hidden;position:fixed;z-index:99;right:15px;bottom:15px;}
.re_top a{display:block;}
.re_top a:hover img{margin-top:-50px;}








.footer_block {width: 100%; background: var(--main-color);padding: 60px 0;}
.footer {border-bottom:  1px solid #fff;}
h2.footer_title {font-size: 40px;line-height: 1.6;letter-spacing: .2em; color: #fff; margin: 0 0 60px;}



.footer_contact_btn{display: inline-block; background: #fff;overflow: hidden;position: relative;z-index: 1;padding: 10px 30px;margin: 0 0 60px; border-radius: 50vh;text-align: center;}
.footer_contact_btn a {font-size: 30px;line-height: 1.6;font-weight: 700; color: var(--main-color);text-decoration: none;}
.footer_contact_btn {transition: transform 0.5s ease-in-out;}
.footer_contact_btn:hover {transform: scale(1.1);}


/*
.footer_contact_btn.btn_slide {display: inline-block; background: #fff;overflow: hidden;position: relative;z-index: 1;padding: 10px 20px;margin: 0 0 60px; border-radius: 50vh;text-align: center;}
.footer_contact_btn.btn_slide a {font-size: 30px;line-height: 1;font-weight: 700; color: var(--main-color);text-decoration: none;}
.footer_contact_btn.btn_slide::after {background: #add8f4;color: #fff;position: absolute;top: 0;left: 0;content: '';width: 100%;height: 100%;transform: scale(0, 1);transform-origin: left top;transition: .2s cubic-bezier(0.45, 0, 0.55, 1);z-index: -1;}

.footer_contact_btn.btn_slide:hover {color: var(--main-color);}
.footer_contact_btn.btn_slide:hover a {}
.footer_contact_btn.btn_slide:hover::after {transform: scale(1, 1);}
*/

.footer_contact {color: #fff;margin: 0 0 60px;}
.footer_contact p.footer_contact_title {font-size: 23px;line-height: 1.6; margin: 0 0 15px;}
.footer_contact p.agency {font-size: 20px;line-height: 1.6;margin: 0 0 20px;vertical-align: middle;}
.footer_contact p.agency span {font-size: 12px;vertical-align: middle;margin-right: 1em}
.footer_contact p.call {width: 380px;height: 38px;margin: auto;}
.footer_contact p.call img {width: 100%;height: auto;}

.footer_under {width: 1280px;margin: auto;display:flex;flex-wrap:wrap;padding: 60px 0 0;text-align: left;color: #fff;flex-direction: row-reverse;}
.footer_under .footer_data{width:calc(50% - 1px);display: inline-block;border-right: 1px solid #fff;}
.footer_under .footer_data h2.footer_data_title {font-size: 24px;line-height: 1.6;letter-spacing: .1em; margin: 0 0 30px;}
.footer_under .footer_data p.footer_data_text {font-size: 16px;line-height: 1.6;letter-spacing: .1em;margin: 0 0 30px;}
.footer_under .footer_data p.footer_data_adress {font-size: 16px;line-height: 1.6;letter-spacing: .1em;margin: 0 0 30px;border: none;text-decoration: none;}
.footer_under .footer_data p.copyright {font-size: 14px;line-height: 1.6;letter-spacing: .1em;}
.footer_under .footer_menu {width: 50%;display: inline-block;}
.footer_under .footer_menu .footer_menu_block {display:flex;flex-wrap:wrap;padding-left: 15%;}
.footer_under .footer_menu .footer_menu_block ul {width: auto;margin-left: 5%;}
.footer_under .footer_menu .footer_menu_block ul li {margin: 0 0 30px;}
.footer_under .footer_menu .footer_menu_block ul li:last-child {margin: 0;}
.footer_under .footer_menu .footer_menu_block ul li a {font-size: 16px;line-height: 1.6; color: #fff;text-decoration: none;}
.footer_under .footer_menu .footer_menu_block ul li a:hover {text-decoration: underline;}
@media (max-width: 1580px) {
.footer_block {padding: 3.79vw 0;}
h2.footer_title {font-size: 2.53vw;margin: 0 0 3.79vw;}
.footer_contact_btn {padding: 0.63vw 1.26vw;margin: 0 0 3.79vw;}
.footer_contact_btn a {font-size: 1.89vw;}



.footer_contact {margin: 0 0 3.79vw;}
.footer_contact p.footer_contact_title {font-size: 1.45vw;margin: 0 0 0.94vw;}
.footer_contact p.agency {font-size: 1.26vw;margin: 0 0 1.26vw;}
.footer_contact p.agency span {font-size: 0.75vw;}
.footer_contact p.call {width: 24.05vw;height: 2.40vw;}


.footer_under {width: 81.01vw;padding: 3.79vw 0 0;}
.footer_under .footer_data h2.footer_data_title {font-size: 1.51vw;margin: 0 0 1.89vw;}
.footer_under .footer_data p.footer_data_text {font-size: 1.01vw;margin: 0 0 1.89vw;}
.footer_under .footer_data p.footer_data_adress {font-size: 1.01vw;margin: 0 0 1.89vw;}
.footer_under .footer_data p.copyright {font-size: 0.88vw;}
.footer_under .footer_menu .footer_menu_block ul li {margin: 0 0 1.89vw;}
.footer_under .footer_menu .footer_menu_block ul li a {font-size: 1.01vw;}
}
@media screen and (max-width: 767px) {
.footer_block {padding: 7.14vw 0;}
.footer {width: 86%;margin: auto; border-bottom:  1px solid #fff;}
h2.footer_title {font-size: 4.28vw; margin: 0 0 5vw;letter-spacing: .1em;}
.footer_contact_btn {padding: 2.38vw 4.76vw;margin: 0 0 5vw;}
.footer_contact_btn a {font-size: 3.4vw;}

.footer_contact {margin: 0 0 5vw;}
.footer_contact p.footer_contact_title {font-size: 3vw;margin: 0 0 2.5vw;}
.footer_contact p.agency {font-size: 3.6vw;margin: 0 0 2.5vw;}
.footer_contact p.agency span {font-size: 2.6vw;}
.footer_contact p.call {width: 65%;height:auto;margin: auto;}
.footer_contact p.call img {width: 100%;height: auto;}

.footer_under {width: 86%;padding: 7.14vw 0 0;}
.footer_under .footer_data{width:100%;border-right:none;}
.footer_under .footer_data h2.footer_data_title {font-size: 3.8vw; margin: 0 0 2.5vw;}
.footer_under .footer_data p.footer_data_text {font-size: 2.5vw;margin: 0 0 2.5vw;}
.footer_under .footer_data p.footer_data_adress {font-size: 3vw;margin: 0 0 2.5vw;}
.footer_under .footer_data p.copyright {font-size: 2.3vw;}
.footer_under .footer_menu {width: 100%;margin: auto;}
.footer_under .footer_menu .footer_menu_block {padding-left: 0;margin:0 0 10vw; }
.footer_under .footer_menu .footer_menu_block ul {margin-left: 0;}
.footer_under .footer_menu .footer_menu_block ul:first-child {margin-right: 5vw;}
.footer_under .footer_menu .footer_menu_block ul li {margin: 0 0 5vw;}
.footer_under .footer_menu .footer_menu_block ul li a {font-size: 2.8vw;}
}





.main_pic {width: 100%;height: auto;margin: 0 0 80px;position: relative;}
.main_pic img {width: 100%;height: auto;}
.main_pic .main_pic_title {
background: rgba(255,255,255,0.75);padding: 25px 80px;position: absolute;top: 50%;left: 50%;transform: translateY(-50%) translateX(-50%);-webkit- transform: translateY(-50%) translateX(-50%);}
.main_pic .main_pic_title h1.contents_title {font-size: 36px;line-height: 1;font-weight: 100;color: var(--main-color); letter-spacing: .5em;white-space: nowrap}

@media (max-width: 1580px) {
.main_pic {margin: 0 0 5.06vw;}
.main_pic .main_pic_title {
padding: 1.58vw 5.06vw;}
.main_pic .main_pic_title h1.contents_title {font-size: 2.25vw;}
}
@media screen and (max-width: 767px) {
.main_pic .main_pic_title {padding: 1.5vw 2.5vw;}
.main_pic .main_pic_title h1.contents_title {font-size: 3vw;white-space: nowrap;}
}



.illust {max-width: 600px;margin: auto;padding: 50px 0 0;}
.illust img {width: 100%;height: auto;}
@media (max-width: 1580px) {
.illust {max-width: 37.5vw;margin: auto;padding: 5.06vw 0 0;}
.illust img {width: 100%;height: auto;}
}
@media screen and (max-width: 767px) {
.illust {max-width: 70vw;margin: auto;padding: 2.5vw 0 0;}
.illust img {width: 100%;height: auto;}
}

