@charset "utf-8";
body {font-family: "Noto Sans JP", sans-serif; font-size: 16px; color: #333; line-height: 1.75;}
img {display: block;}
@media screen and (max-width:768px) {
    body {font-size: 14px;}
}
/* header */
#header {position: relative;}
#header .logo_l {width: 210px; height: 210px; padding: 20px; position: absolute; top: 0; left: 0; background: #fff; z-index: 20;}
#header .logo_l h1 a img {width: 100%;}
#header .wrap {width: 100%; height: 80px; position: fixed; display: flex; align-items: center; background: #fff; z-index: 10; transition: .5s;}
#header .wrap h1 {width: 80px; height: 80px; padding: 10px;}
#header .wrap h1 .logo { transition: .5s;}
#header .wrap h1 .logo:hover {opacity: .7;}
#header .wrap h1 .logo img {width: 100%;}
#header .wrap .nav {width: calc(100% - 80px); height: 100%;}
#header .wrap .nav .menu {display: flex; justify-content: center; list-style: none; align-items: center; height: 100%;}
#header .wrap .nav .menu>li {padding-right: 30px; height: 100%;}
#header .wrap .nav .menu>li>a {display: flex; align-items: center; text-decoration: none; color: #231815; height: 100%; transition: .5s;}
#header .wrap .nav .menu>li>a:hover {opacity: .7;}
#header .wrap .responsive {display: flex;}
#header .wrap .responsive .responsive_box {display: none; top: 0; right: 0; padding: 11px;}
#header .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: #231815; width: 100%; height: 2px; margin: 6px 0; transition: 0.5s;}
#header .wrap .nav .nav_info {display: none;}
#header .wrap .nav .nav_info .nav_logo {display: flex; text-decoration: none; transition: .5s;}
#header .wrap .nav .nav_info .nav_logo:hover {opacity: .7;}
#header .wrap .nav .nav_info .nav_logo img {height: 100px;}
#header .wrap .nav .nav_info ul li {list-style: none; margin-top: 1rem; color: #231815;}
#header .site_desc {position: fixed; width: 80px; height: 100vh; background: #fff; z-index: 9;}
#header .site_desc .desc {width: 100%; height: calc(100vh - 80px); display: flex; align-items: center; justify-content: center;}
#header .site_desc .desc p {writing-mode: vertical-rl;}
#header .site_desc .sns {width: 100%; height: 80px; padding: 20px;}
#header .site_desc .sns a {transition: .5s;}
#header .site_desc .sns a:hover {opacity: .7;}
#header .site_desc .sns a img {width: 100%;}
#header .side_icon {position: fixed; right: 0; width: 80px; height: 100vh; background: #fff; z-index: 9;}
#header .side_icon ul {list-style: none; margin-top: 80px;}
#header .side_icon ul li {width: 100%; height: 80px;}
#header .side_icon ul li a {position: relative; display: flex; width: 100%; height: 100%; border-bottom: 1px solid #FFCC66; flex-direction: column; align-items: center; justify-content: center; text-decoration: none; color: #333; font-size: 14px; transition: .5s;}
#header .side_icon ul li .tel {background: #FFCC66;}
#header .side_icon ul li a:hover {opacity: .7;}
#header .side_icon ul li a img {width: 30px;}
.nav_info_tel,.nav_info_map {text-decoration: none; color: #231815; 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:1440px) {
    #header .logo_l {width: 160px; height: 160px; padding: 20px;}
    #header .wrap .nav .menu>li {padding-right: 20px}
    #header .wrap .nav .menu>li>a {font-size: 14px;}
}
@media screen and (max-width:1200px) {
    #header .logo_l,
    #header .site_desc,
    #header .side_icon {display: none;}
    #header .wrap {height: 70px; justify-content: space-between;}
    #header .wrap h1 {width: 70px; height: 70px;}
    #header .wrap .responsive {z-index: 101;}
    #header .wrap .responsive .responsive_box {display: flex;}
    #header .wrap .responsive .responsive_box .responsive_btn {display: flex;}
    #header .wrap .nav {display: flex; align-items: center; background: #FFCC66; width: 100%; height: 100vh; position: fixed; top: 0; right: -100%; transition: 0.5s; z-index: 100;}
    #header .wrap .nav .menu, #header .wrap .nav .nav_info {display: block; width: 50%; padding: 0 0 0 50px; height: auto;}
    #header .wrap .nav .menu>li {padding: 0 0 1rem; height: auto; position: relative;}
    #header .wrap .nav .menu>li>a {display: inline-block; color: #231815;}
}
#header .wrap .menu_active {right: 0;}
.line_1_active {transform: translateY(14px) rotate(-45deg);}
.line_2_active {opacity: 0;}
.line_3_active {transform: translateY(-14px) rotate(45deg);}
@media screen and (max-width:768px) {
    #header .wrap {height: 50px; z-index: 99;}
    #header .wrap h1 {width: 50px; height: 50px; padding: 7px;}
    #header .wrap .responsive .responsive_box {padding: 7px;}
    #header .wrap .responsive .responsive_box .responsive_btn {width: 36px; height: 36px;}
    #header .wrap .nav {display: block;}
    #header .wrap .nav .menu, #header .wrap .nav .nav_info {width: 100%; padding: 0 0 0 40px; margin: 50px 0 0;}
    #header .wrap .nav .menu>li {padding: 0 0 1rem;}
    .menu_line_1 ,.menu_line_2 ,.menu_line_3 {height: 2px; margin: 4.5px 0;}
    .line_1_active {transform: translateY(11px) rotate(-45deg);}
    .line_3_active {transform: translateY(-11px) rotate(45deg);}
}
/* main */
main {padding: 0 80px;}
.link {text-align: center; margin: 70px auto 0;}
.link a {text-decoration: none; color: #333; display: inline-block; min-width: 300px; background: #FFCC66; border: 1px solid #FFCC66; border-radius: 999px; line-height: 3.5; transition: .5s;}
.link a:hover {background: #ffaa00; border: 1px solid #ffaa00;}
@media screen and (max-width:1200px) {
    main {padding: 0;}
}
@media screen and (max-width:768px) {
    .link {text-align: center; margin: 50px auto 0;}
}
/* point */
#point .wrap {margin: 150px auto; width: 100%; max-width: 1000px;}
#point .wrap h3 {text-align: center; font-size: 32px;}
#point .wrap ul {list-style: none; margin: 70px auto 0;}
#point .wrap ul li {display: flex; margin: 50px auto 0;}
#point .wrap ul li .text {width: 60%;}
#point .wrap ul li .text .ttl {display: flex; align-items: center;}
#point .wrap ul li .text .ttl .count {width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; flex-direction: column; font-size: 18px; font-weight: bold; line-height: 1; border-radius: 50%; border: 1px solid #FFCC66; margin: 0 20px 0 0;}
#point .wrap ul li .text .ttl .count span {font-size: 26px; color: #06C755;}
#point .wrap ul li .text .ttl h4 {font-size: 28px;}
#point .wrap ul li .text .content {margin: 30px auto 0;}
#point .wrap ul li .text .content .catch {font-size: 18px; font-weight: bold;}
#point .wrap ul li .text .content .txt {margin: 1rem auto 0;}
#point .wrap ul li .img {width: 40%;}
#point .wrap ul li .img img {width: 100%;}
@media screen and (max-width:1200px) {
    #point .wrap {padding: 0 10px;}
    #point .wrap h3 {font-size: 26px;}
    #point .wrap ul li .text .ttl .count {width: 60px; height: 60px; font-size: 16px;}
    #point .wrap ul li .text .ttl .count span {font-size: 20px;}
    #point .wrap ul li .text .ttl h4 {font-size: 24px;}
    #point .wrap ul li .text .content .catch {font-size: 16px;}
}
@media screen and (max-width:768px) {
    #point .wrap ul li {display: block;}
    #point .wrap ul li .text {width: 100%;}
    #point .wrap ul li .img {width: 100%; margin-top: 30px;}
}
@media screen and (max-width:590px) {
    #point .wrap ul li .text .ttl h4 {font-size: 22px;}
}
/* catch */
#catch .wrap {margin: 150px auto 0; width: 100%; max-width: 1000px;}
#catch .wrap h3 {text-align: center; font-size: 32px;}
#catch .wrap p {margin: 50px auto 0;}
@media screen and (max-width:1200px) {
    #catch .wrap {padding: 0 10px;}
    #catch .wrap h3 {font-size: 26px;}
}
/* topics */
#topics {background-color: rgba(255, 204, 102, 0.3);}
#topics .wrap {margin: 0 auto; padding: 100px 0;}
#topics .wrap h3 {text-align: center; font-size: 32px;}
#topics .wrap .category {list-style: none; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 50px auto 0;}
#topics .wrap .category li a {display: inline-block; background-color: #FF2B2B; border-radius: 99px; line-height: 2; width: 100%; min-width: 150px; text-decoration: none; text-align: center; color: #fff; transition: .5s;}
#topics .wrap .category li a:hover {opacity: .7;}
#topics .wrap .category .newsletter a {background-color: #FFCC66; color: #333;}
#topics .wrap .category .accident a {background-color: #FFF; border: 1px solid #333; color: #333;}
#topics .wrap .category .column a {background-color: #06C755;}
#topics .wrap .list {list-style: none; margin: 50px auto 0; max-width: 1000px;}
#topics .wrap .list>li {margin: 0 auto 50px;}
#topics .wrap .list>li:last-child {margin: 0 auto;}
#topics .wrap .list>li>a {display: flex; text-decoration: none; color: #333; transition: .5s;}
#topics .wrap .list>li>a:hover {opacity: .7;}
#topics .wrap .list>li>a .img {width: 30%; padding-right: 30px;}
#topics .wrap .list>li>a .img .thumbnail {width: 100%; height: 100%; aspect-ratio: 3 / 2;}
#topics .wrap .list>li>a .img .thumbnail img {width: 100%; height: 100%; object-fit: cover;}
#topics .wrap .list>li>a .text {width: 70%;}
#topics .wrap .list>li>a .text .head {margin: 0 auto 15px;}
#topics .wrap .list>li>a .text .head h4 {font-size: 20px; line-height: 1; margin: 0 auto 15px;}
#topics .wrap .list>li>a .text .head .cat {display: flex; align-items: center; justify-content: space-between;}
#topics .wrap .list>li>a .text .head .cat>ul {list-style: none; display: flex; align-items: center; flex-wrap: wrap; gap: 10px;}
#topics .wrap .list>li>a .text .head .cat>ul>li {display: inline-block; background-color: #FF2B2B; border-radius: 99px; line-height: 2; min-width: 100px; font-size: 12px; text-decoration: none; text-align: center; color: #fff;}
#topics .wrap .list>li>a .text .head .cat>ul>.newsletter {background-color: #FFCC66; color: #333;}
#topics .wrap .list>li>a .text .head .cat>ul>.accident {background-color: #FFF; border: 1px solid #333; color: #333;}
#topics .wrap .list>li>a .text .head .cat>ul>.column {background-color: #06C755;}
#topics .wrap .list>li>a .text time {font-size: 14px; line-height: 1;}
#topics .wrap .instagram {max-width: 1000px; margin: 100px auto 0;}
@media screen and (max-width:1200px) {
    #topics .wrap {padding: 80px 10px;}
    #topics .wrap h3 {font-size: 26px;}
}
@media screen and (max-width:768px) {
    #topics .wrap .category li a {min-width: 120px;}
    #topics .wrap .list>li>a .text .head h4 {font-size: 18px;}
    #topics .wrap .list>li>a .text .head .cat>ul>li {min-width: 80px; font-size: 10px;}
    #topics .wrap .list>li>a .text time {font-size: 12px;}
}
@media screen and (max-width:590px) {
    #topics .wrap .list>li>a {display: block;}
    #topics .wrap .list>li>a .img {width: 100%; padding: 0; margin: 0 auto 15px;}
    #topics .wrap .list>li>a .text {width: 100%;}
    #topics .wrap .list>li>a .text .head h4 {font-size: 16px;}
}
/* footer */
#access .wrap {padding: 0 80px 0; width: 100%; height: 100%; aspect-ratio: 96 / 25;}
#access .wrap iframe {width: 100%; height: 100%;}
#footer {background-color: #FFCC66;}
#footer .wrap {margin: 0 auto; max-width: 1330px; padding: 100px 80px 20px;}
#footer .wrap .contact {display: flex; align-items: center; justify-content: center;}
#footer .wrap .contact .tel {width: 50%; padding: 0 20px 0 0;}
#footer .wrap .contact .tel a {display: inline-block; width: 100%; line-height: 3; font-size: 32px; text-decoration: none; color: #333; font-weight: bold; border: 1px solid #06C755; background-color: #fff; border-radius: 999px; text-align: center; transition: .5s;}
#footer .wrap .contact .line {width: 50%; padding: 0 0 0 20px;}
#footer .wrap .contact .line a {display: inline-block; width: 100%; line-height: 3; font-size: 32px; text-decoration: none; color: #fff; font-weight: bold; border: 1px solid #06C755; background-color: #06C755; border-radius: 999px; text-align: center; transition: .5s;}
#footer .wrap .contact .tel a:hover,
#footer .wrap .contact .line a:hover {opacity: .7;}
#footer .wrap .info {margin: 100px auto 0; display: flex; align-items: center;}
#footer .wrap .info .address {width: 60%; display: flex; align-items: center;}
#footer .wrap .info .address .logo {width: 30%;}
#footer .wrap .info .address .logo a img {width: 70%;}
#footer .wrap .info .address .cont {width: 70%;}
#footer .wrap .info .address .cont a {text-decoration: none; color: #333;}
#footer .wrap .info .calendar {width: 40%;}
#footer .wrap .info .calendar table {border-collapse: collapse; width: 100%;}
#footer .wrap .info .calendar table tr th,
#footer .wrap .info .calendar table tr td {border: 1px solid #333; background-color: #fff; font-weight: normal; line-height: 3; text-align: center;}
#footer .wrap .copy {margin: 100px auto 0; text-align: center;}
@media screen and (max-width:1200px) {
    #access .wrap {padding: 0; aspect-ratio: 2 / 1;}
    #footer .wrap {padding: 80px 10px 20px;}
    #footer .wrap .contact .tel a,
    #footer .wrap .contact .line a {font-size: 26px;}
    #footer .wrap .info {display: block; max-width: 768px; margin: 80px auto 0;}
    #footer .wrap .info .address {width: 100%; margin: 0 auto 50px;}
    #footer .wrap .info .calendar {width: 100%;}
    #footer .wrap .copy {margin: 80px auto 0;}
}
@media screen and (max-width:768px) {
    #access .wrap {aspect-ratio: 1 / 1;}
    #footer .wrap .contact {display: block;}
    #footer .wrap .contact .tel {width: 100%; padding: 0;}
    #footer .wrap .contact .line {width: 100%; padding: 0; margin: 50px auto 0;}
}