@charset "utf-8";
body {font-family: 'Noto Sans JP', '游ゴシック', 'Yu Gothic', YuGothic, 'ヒラギノゴシック Pro', 'Hiragino Kaku Gothic ProN', 'MS Pゴシック', 'MS PGothic', sans-serif; background: #EEEEEE; font-size: 18px; line-height: 1.75;}
img {display: block;}
@media screen and (max-width:768px) {
    body {font-size: 16px;}
}
/* header */
#header .content {width: 100%; position: fixed; z-index: 10; padding: 10px 20px;}
#header .content .wrap {height: 70px; display: flex; justify-content: space-between; align-items: center; background: #fff; border-radius: 999px;}
#header .content .wrap h1 .logo {margin-left: 20px; display: flex; align-items: center; text-decoration: none; transition: .5s;}
#header .content .wrap h1 .logo:hover {opacity: .7;}
#header .content .wrap h1 .logo img {height: 40px;}
#header .content .wrap h1 .logo p {font-size: 25px; font-family: 'Noto Serif JP', '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', serif; color: #222; font-weight: 600; margin: 0 0 0 10px;}
#header .content .wrap .nav .menu {display: flex; list-style: none; align-items: center;}
#header .content .wrap .nav .menu>li {margin-right: 30px; position: relative;}
#header .content .wrap .nav .menu>li:nth-last-child(-n+1) {min-width: 160px;}
#header .content .wrap .nav .menu>li a {text-decoration: none; color: #222; transition: .5s;}
#header .content .wrap .nav .menu>li a:hover {opacity: .7;}
/* #header .content .wrap .nav .menu>li:nth-last-child(2) a {display: inline-block; width: 100%; text-align: center; padding: 5px 0; color: #fff; background: #003687; border: 2px solid #003687; border-radius: 999px;}
#header .content .wrap .nav .menu>li:nth-last-child(2) a:hover {opacity: .7;} */
#header .content .wrap .nav .menu>li:last-child a {display: inline-block; width: 100%; text-align: center; padding: 5px 0; color: #003687; border: 2px solid #003687; border-radius: 999px;}
#header .content .wrap .nav .menu>li:last-child a:hover {opacity: .7;}
#header .content .wrap .nav .menu>li a div {display: none; font-family: 'Josefin Sans', sans-serif; font-size: 10px;}
#header .content .wrap .nav .menu>li .plus_box {display: none; position: absolute; top: 0; right: 0; height: 50px; width: 50px; cursor: pointer;}
#header .content .wrap .nav .menu>li .plus_box .plus_btn1 {position: absolute; content: ""; background: #fff; width: 30px; height: 2px; top: 50%; left: 50%; transform: translate(-50%,-50%);}
#header .content .wrap .nav .menu>li .plus_box .plus_btn2 {position: absolute; content: ""; background: #fff; width: 30px; height: 2px; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(90deg); transition: .5s;}
#header .content .wrap .nav .menu>li .child_menu {visibility: hidden; opacity: 0; transition: .75s; position: absolute; top: 0; left: -20px; list-style: none; white-space: nowrap; padding-top: 60px; z-index: -1;}
#header .content .wrap .nav .menu>li .child_menu li {background: #fff;}
#header .content .wrap .nav .menu>li .child_menu li:not(:first-child) {margin-top: 1px;}
#header .content .wrap .nav .menu>li .child_menu li:first-child {position: relative;}
#header .content .wrap .nav .menu>li .child_menu li:first-child::before {position: absolute; content: ""; top: -10px; left: 40px; background: #fff; width: 15px; height: calc(tan(60deg) * 15px / 2); clip-path: polygon(50% 0, 100% 100%, 0 100%);}
#header .content .wrap .nav .menu>li .child_menu li a {display: inline-block; font-size: .9em; width: 100%; padding: 10px 50px 10px 20px;}
#header .content .wrap .nav .menu>li:nth-child(2) a {position: relative; z-index: 3;}
#header .content .wrap .nav .menu>li:nth-child(2):hover .child_menu {visibility: visible; opacity: 1;}
#header .content .wrap .responsive {display: flex;}
#header .content .wrap .responsive .responsive_box {display: none; top: 0; right: 0; padding: 11px;}
#header .content .wrap .responsive .responsive_box .responsive_btn {display: none; flex-direction: column; align-items: center; justify-content: center; width: 48px; height: 48px; cursor: pointer; position: relative;}
.menu_line_1 ,.menu_line_2 ,.menu_line_3 {background: #222; width: 100%; height: 4px; margin: 6px 0; transition: 0.5s;}
#header .content .wrap .nav .nav_info {display: none;}
#header .content .wrap .nav .nav_info .nav_logo {display: flex; text-decoration: none; transition: .5s;}
#header .content .wrap .nav .nav_info .nav_logo:hover {opacity: .7;}
#header .content .wrap .nav .nav_info .nav_logo img {height: 50px;}
#header .content .wrap .nav .nav_info ul li {list-style: none; margin-top: 1rem; color: #fff;}
.nav_info_tel,.nav_info_map {text-decoration: none; color: #fff; margin-top: 1rem; transition: .5s;}
.nav_info_map::after{display: inline-block; width: 10px; margin-left: 5px; content: url(../img/link.svg); }
.nav_info_tel:hover, .nav_info_map:hover {opacity: .7;} 
@media screen and (max-width:1200px) {
    #header .content {padding: 10px;}
    #header .content .wrap .responsive {margin: 0 30px 0 0; z-index: 101;}
    #header .content .wrap .responsive .responsive_box {display: flex;}
    #header .content .wrap .responsive .responsive_box .responsive_btn {display: flex;}
    #header .content .wrap .nav {display: flex; align-items: center; background: #003687; width: 100%; height: 100vh; position: fixed; top: 0; right: -100%; transition: 0.5s; z-index: 100;}
    #header .content .wrap .nav .menu, #header .content .wrap .nav .nav_info {display: block; width: 50%; padding: 0 0 0 50px;}
    #header .content .wrap .nav .menu li {margin: 0 0 2rem;}
    #header .content .wrap .nav .menu li:nth-last-child(-n+1) {min-width: none;}
    #header .content .wrap .nav .menu li a {font-size: 20px; color: #fff;}
    #header .content .wrap .nav .menu li:nth-last-child(-n+1) a {padding: 0; text-align: left; color: #fff; background: none; border: none; border-radius: 0;}
    #header .content .wrap .nav .menu li:nth-last-child(-n+1) a:hover {background: none; border: none; color: #fff; opacity: .7;}
    #header .content .wrap .nav .menu li a div {display: block;}
    #header .content .wrap .nav .menu>li:nth-child(2):hover .child_menu {visibility: visible; opacity: 1;}
    #header .content .wrap .nav .menu>li:nth-child(2):hover .child_menu.child_menu_active {visibility: visible; opacity: 1;}
    #header .content .wrap .nav .menu>li .child_menu {visibility: visible; opacity: 1; height: 0; position: static; z-index: 1; padding: 0; opacity: 0; overflow: hidden;}
    #header .content .wrap .nav .menu>li .child_menu.child_menu_active {visibility: visible; opacity: 1; height: auto; padding: 1em 1em 0 1em;}
    #header .content .wrap .nav .menu>li .plus_box.plus_box_active .plus_btn2 {transform: translate(-50%,-50%) rotate(0deg);}
    #header .content .wrap .nav .menu>li .plus_box {display: block;}
    #header .content .wrap .nav .menu>li .child_menu li {background: none; margin: 0 0 1em;}
    #header .content .wrap .nav .menu>li .child_menu li:not(:first-child) {margin-top: 0;}
    #header .content .wrap .nav .menu>li .child_menu li:first-child {position: static;}
    #header .content .wrap .nav .menu>li .child_menu li:first-child::before {position: static; background: none; width: 0; height: 0;}
    #header .content .wrap .nav .menu>li .child_menu li a {display: inline; font-size: 1em; padding: 0;}
    #header .content .wrap .nav .menu>li:last-child {display: none;}
}
#header .content .wrap .menu_active {right: 0;}
.line_1_active {transform: translateY(16px) rotate(-45deg); background: #fff;}
.line_2_active {opacity: 0;}
.line_3_active {transform: translateY(-16px) rotate(45deg); background: #fff;}
@media screen and (max-width:768px) {
    #header .content {padding: 5px; height: 60px;}
    #header .content .wrap {height: 50px; z-index: 99;}
    #header .content .wrap h1 .logo {margin: 0 0 0 10px;}
    #header .content .wrap h1 .logo img {height: 30px;}
    #header .content .wrap h1 .logo p {display: none;}
    #header .content .wrap .responsive {margin: 0 15px 0 0;}
    #header .content .wrap .responsive .responsive_box {padding: 7px;}
    #header .content .wrap .responsive .responsive_box .responsive_btn {width: 36px; height: 36px;}
    #header .content .wrap .nav {display: block;}
    #header .content .wrap .nav .menu, #header .content .wrap .nav .nav_info {width: 100%; padding: 0 0 0 40px; margin: 50px 0 0;}
    #header .content .wrap .nav .menu li {margin: 0 0 1rem;}
    .menu_line_1 ,.menu_line_2 ,.menu_line_3 {height: 3px; margin: 4.5px 0;}
    .line_1_active {transform: translateY(12px) rotate(-45deg);}
    .line_3_active {transform: translateY(-12px) rotate(45deg);}
}
/* head */
#header .head {padding: 90px 20px 0;}
#header .head .box {position: relative;}
#header .head .box h1 {position: absolute; top: 10%; left: 10%; font-size: clamp(20px, 2vw, 35px); color: #fff; font-weight: normal; text-shadow: 0 0 10px #000;}
#header .head .box span {position: absolute; top: 10%; left: 0; color: #222; font-size: clamp(40px, 4.25vw, 80px); font-family: 'Josefin Sans', sans-serif; font-weight: bold; writing-mode: vertical-rl; text-shadow: 0 0 10px #fff;}
#header .head .box>img {width: 100%; height: 100%; aspect-ratio: 3 / 1; border-radius: 30px; display: block; object-fit: cover;}
#header .head .box p {position: absolute; bottom: 10%; right: 5%; font-size: clamp(25px, 2.5vw, 40px); font-weight: bold; color: #fff; text-shadow: 0 0 10px #000; text-align: right;}
#header .head .box a {position: absolute; top: 10%; right: 5%; background: #fff; border: 2px solid #003687; color: #003687; text-decoration: none; font-size: 25px; font-weight: bold; border-radius: 999px; padding: 0 20px; transition: .5s;}
#header .head .box a:hover {opacity: .7;}
@media screen and (max-width:1200px) {
    #header .head {padding: 90px 10px 0;}
    #header .head .box>img {aspect-ratio: 2 / 1; border-radius: 20px;}
}
@media screen and (max-width:1000px) {
    #header .head .box>img {aspect-ratio: 4 / 3;}
}
@media screen and (max-width:768px) {
    #header .head {padding: 60px 5px 0;}
    #header .head .box>img {aspect-ratio: 1 / 1;}
}
@media screen and (max-width:590px) {
    #header .head .box>img {aspect-ratio: 4 / 5;}
    #header .head .box h1 {top: 40%; left: 50%; transform: translate(-50%,0); font-size: 16px;}
    #header .head .box span {top: 50%; left: 50%; transform: translate(-50%,-50%); writing-mode: horizontal-tb; font-size: 25px; color: #fff; text-shadow: 0 0 10px #000;}
    #header .head .box p {bottom: 20%; left: 0; font-size: 18px; text-align: center; width: 100%;}
    #header .head .box a {top: auto; bottom: 2.5%; right: 50%; transform: translate(50%,0);}
}
/* comment */
#comment .wrap {margin: 150px 20px; overflow-y: hidden;}
#comment .wrap p {width: 100%; max-width: 1000px; margin: 0 0 0 auto;}
@media screen and (max-width:1200px) {
    #comment .wrap {margin: 100px 10px;}
}
@media screen and (max-width:768px) {
    #comment .head {margin: 70px 5px;}
}
/* footer */
#footer .wrap .contact {margin: 0 20px 100px; background: url(../img/contact.jpg) no-repeat center/cover; border-radius: 30px;}
#footer .wrap .contact .cont {background: rgba(255, 255, 255, 0.7); border-radius: 30px; padding: 70px 0; text-align: center;}
#footer .wrap .contact .cont h2 {font-size: clamp(25px, 2.5vw, 40px); margin: 0 auto 50px;}
#footer .wrap .contact .cont .box {margin: 0 auto 50px;}
#footer .wrap .contact .cont .box .tel {background: #003687; border: 5px solid #003687; border-radius: 999px; color: #fff; text-decoration: none; font-size: clamp(20px, 2vw, 35px); font-weight: bold; text-align: center; display: inline-block; width: 100%; max-width: 400px; margin: 0 100px 0 0; transition: .5s;}
#footer .wrap .contact .cont .box .mail {background: #fff; border: 5px solid #003687; border-radius: 999px; color: #003687; text-decoration: none; font-size: clamp(20px, 2vw, 35px); font-weight: bold; text-align: center; display: inline-block; width: 100%; max-width: 400px; transition: .5s;}
#footer .wrap .contact .cont .box a:hover {opacity: .7;}
#footer .wrap .contact .cont .chat {display: flex; max-width: 1040px; margin: 100px auto 0; text-align: center;}
#footer .wrap .contact .cont .chat .line, #footer .wrap .contact .cont .chat .wechat {width: 50%; text-decoration: none; color: #222; transition: .5s;}
#footer .wrap .contact .cont .chat .line:hover, #footer .wrap .contact .cont .chat .wechat:hover {opacity: .7;}
#footer .wrap .contact .cont .chat .line div, #footer .wrap .contact .cont .chat .wechat div {width: 100%; height: 100%; max-width: 100px; max-height: 100px; margin: 0 auto;}
#footer .wrap .contact .cont .chat .line div svg, #footer .wrap .contact .cont .chat .wechat div img {width: 100%; height: 100%;}
#footer .wrap .foot {background: #222; padding: 70px 20px 20px; display: flex;}
#footer .wrap .foot .address {width: 35%;}
#footer .wrap .foot .address .logo {display: flex; text-decoration: none; transition: .5s;}
#footer .wrap .foot .address .logo:hover {opacity: .7;}
#footer .wrap .foot .address .logo img {height: 40px;}
#footer .wrap .foot .address .logo p {font-size: 25px; font-family: 'Noto Serif JP', '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', serif; color: #fff; font-weight: 600; margin: 0 0 0 10px;}
#footer .wrap .foot .address .permission {margin: 20px 0 0; color: #fff; font-size: 16px;}
#footer .wrap .foot .address address {margin: 20px 0 0; color: #fff; font-size: 16px; font-style: normal;}
#footer .wrap .foot .nav {width: 65%;}
#footer .wrap .foot .nav .menu {list-style: none; display: grid; grid-template-columns: repeat(4, 1fr);}
#footer .wrap .foot .nav .menu>li>ul {list-style: "└"; list-style-position: inside; color: #fff;}
#footer .wrap .foot .nav .menu>li>ul>li {text-indent: 0.5em; font-size: 16px;}
#footer .wrap .foot .nav .menu>li>ul>li>ul {list-style: "└"; list-style-position: inside;}
#footer .wrap .foot .nav .menu>li>ul>li>ul>li {text-indent: 1em; font-size: 16px;}
#footer .wrap .foot .nav .menu a {text-decoration: none; color: #fff; transition: .5s;}
#footer .wrap .foot .nav .menu a:hover {opacity: .7;}
#footer .wrap .sns {display: flex; justify-content: center; align-items: center; background: #222;}
#footer .wrap .sns a {background: url('../img/instagram.svg') no-repeat center; width: 45px; height: 45px; display: inline-block; font-size: 0; margin-right: 20px; transition: .5s;}
#footer .wrap .sns .x {background-image: url('../img/x.svg'); width: 48.9px; height: 45px;}
#footer .wrap .sns .tiktok {background-image: url('../img/tiktok.svg'); width: 39.3px; height: 45px;}
#footer .wrap .sns a:hover {opacity: .7;}
#footer .wrap .icon {display: flex; justify-content: left; align-items: center; background: #222;}
#footer .wrap .icon div {background: url('../img/sdgs.svg') no-repeat center; width: 152.85px; height: 80px; display: inline-block; font-size: 0; margin-left: 20px;}
#footer .wrap .copy {background: #222; padding: 20px; text-align: center; color: #fff;}
@media screen and (max-width:1400px) {
    #footer .wrap .foot .nav .menu {grid-template-columns: repeat(3, 1fr);}
}
@media screen and (max-width:1200px) {
    #footer .wrap .contact {margin: 0 10px 100px;}
    #footer .wrap .foot {padding: 50px 10px; display: block;}
    #footer .wrap .foot .address, #footer .wrap .foot .nav {width: 100%;}
    #footer .wrap .foot .address {margin: 0 0 30px;}
    #footer .wrap .icon {justify-content: center; padding-bottom: 20px;}
    #footer .wrap .sns {justify-content: center;}
    #footer .wrap .sns .tiktok {margin-right: 0;}
    #footer .wrap .copy {padding: 10px;}
}
@media screen and (max-width:1000px) {
    #footer .wrap .contact .cont .box .tel {min-width: auto; width: 90%; margin: 0 0 50px; border: 2px solid #003687;}
    #footer .wrap .contact .cont .box .mail {min-width: auto; width: 90%; border: 2px solid #003687;}
    #footer .wrap .foot .nav .menu {grid-template-columns: repeat(2, 1fr);}
}
@media screen and (max-width:768px) {
    #footer .wrap .contact {margin: 0 10px 70px;}
    #footer .wrap .foot .nav .menu>li>ul>li, #footer .wrap .foot .nav .menu>li>ul>li>ul>li {font-size: 14px;}
}
@media screen and (max-width:590px) {
    #footer .wrap .contact {margin: 0 5px 50px;}
    #footer .wrap .contact .cont h2 {font-size: 20px;}
    #footer .wrap .foot {padding: 30px 5px;}
    #footer .wrap .foot .address .logo {display: block;}
    #footer .wrap .foot .nav .menu {grid-template-columns: repeat(1, 1fr);}
    #footer .wrap .contact .cont .chat {display: block;}
    #footer .wrap .contact .cont .chat .line, #footer .wrap .contact .cont .chat .wechat {width: 100%; margin-bottom: 20px;}

}