* {
    margin: 0;
    padding: 0;
}

@font-face {
    font-family: 'YuKyo_Yoko';
    font-weight: normal;
    font-display: swap;
    src: local("YuKyo_Yoko-Medium"),
         local("游教科書体 横用"),
         url('../font/YuKyo_Yoko-Medium.woff2') format('woff2'),
         url('../font/YuKyo_Yoko-Medium.woff') format('woff2'),
         url('../font/YuKyo_Yoko-Medium.otf') format('opentype');
}

@font-face {
    font-family: 'YuKyo_Yoko';
    font-weight: bold;
    font-display: swap;
    src: local("YuKyo_Yoko-Bold"),
         local("游教科書体 横用"),
         url('../font/YuKyo_Yoko-Bold.woff2') format('woff2'),
         url('../font/YuKyo_Yoko-Bold.woff') format('woff2'),
         url('../font/YuKyo_Yoko-Bold.otf') format('opentype');
}

@font-face {
    font-family: 'HiraMinProN';
    font-weight: normal;
    font-display: swap;
    src: local("HiraMinPro-W3"),
         local("ヒラギノ明朝 Pro"),
         local("HiraMinProN-W3"),
         local("ヒラギノ明朝 ProN"),
         url('../font/HiraMinPro-W3.woff2') format('woff2'),
         url('../font/HiraMinPro-W3.woff') format('woff2'),
         url('../font/HiraMinPro-W3.otf') format('opentype');
}

@font-face {
    font-family: 'HiraMinProN';
    font-weight: bold;
    font-display: swap;
    src: local("HiraMinPro-W6"),
         local("ヒラギノ明朝 Pro"),
         local("HiraMinProN-W6"),
         local("ヒラギノ明朝 ProN"),
         url('../font/HiraMinPro-W6.woff2') format('woff2'),
         url('../font/HiraMinPro-W6.woff') format('woff2'),
         url('../font/HiraMinPro-W6.otf') format('opentype');
}

@keyframes fadeIn_1 {
    0% {
        opacity: 0 }
    100% {
        opacity: 1 }
}

@keyframes fadeIn_2 {
    0% {
        opacity: 0.2 }
    100% {
        opacity: 1 }
}

@keyframes header-btn-bar01 {
    0% {
        transform: translateY(2.3325vw) rotate(45deg) }
    50% {
        transform: translateY(2.3325vw) rotate(0) }
    100% {
        transform: translateY(0) rotate(0) }
}

@keyframes header-btn-bar03 {
    0% {
        transform: translateY(-2.3325vw) rotate(-45deg) }
    50% {
        transform: translateY(-2.3325vw) rotate(0) }
    100% {
        transform: translateY(0) rotate(0) }
}

@keyframes active-header-btn-bar01 {
    0% {
        transform: translateY(0) rotate(0) }
    50% {
        transform: translateY(2.3325vw) rotate(0) }
    100% {
        transform: translateY(2.3325vw) rotate(45deg) }
}

@keyframes active-header-btn-bar03 {
    0% {
        transform: translateY(0) rotate(0) }
    50% {
        transform: translateY(-2.3325vw) rotate(0) }
    100% {
        transform: translateY(-2.3325vw) rotate(-45deg) }
}

@keyframes diplay-none {
    0% { opacity: 0 }
    100% { opacity: 0 }
}

@keyframes up-down {
    0% { transform: translateY(-15px) }
    100% { transform: translateY(0px) }
}

@keyframes sdb {
    0% { 
        opacity: 0 }
    30% { 
        opacity: 1 }
    60% { 
        box-shadow: 0 0 0 17px rgba(0, 60, 86, 0.2);
        opacity: 0 }
    100% { 
        opacity: 0 }
}

html {
    height: -webkit-fill-available;
}

html.is-fixed,
html.is-fixed body {
    top: 0;
    height: 100%;
    height: -webkit-fill-available;
    overflow: hidden;
}

header {
    position: fixed;
    z-index: 100;
    color: #FCFCFC;
    background-color:#003C56;
    display: flex;
    flex-direction:column;
    transition: 0.5s;
}

header.display {
    top: 0;
}

body {
    width: 100%;
    min-height: 100vh;
    font-family: 'YuKyo_Yoko','游教科書体 横用','HiraMinPro','HiraMinPro-W3','ヒラギノ明朝 Pro','HiraMinProN-W3','ヒラギノ明朝 ProN','Yu Mincho',serif;
    background-color: #F2F5F7;
}

.top-page_wapper {
    animation: fadeIn_1 2.3s ease 0s 1 normal;
}

.other-page_wapper {
    animation: fadeIn_2 1s ease 0s 1 normal;
}

main {
    position: relative;
    z-index: 0;
}

a {
    text-decoration : none;
    color : inherit;
}

a:hover {
    text-decoration: underline;
}

.header_up {
    position:relative;
    z-index: 100;
    top: 0;
    width: 100vw;
    height: 14.93vw;
    background-color:#003C56;
    display: flex;
    justify-content: space-between;
}

.header_left {
    margin: auto;
    margin-left: 6.91vw;
}

.header_logo-img {
    position: relative;
    width: 24.93vw;
    height: auto;
    top: 0.5vw;
}

.header_right {
    margin: auto;
    margin-right: 8.08vw;
}

.btn-trigger {
    position: relative;
    width: 6.4vw;
    height: 5.07vw;
    cursor: pointer;
}

.btn-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.8vw;
    background-color: #FCFCFC;
}

.btn-trigger,
.btn-trigger span {
    box-sizing: border-box;
    display: inline-block;
    transition: all 0.5s;
}

.btn-trigger span:nth-of-type(1) {
    top: 0;
}

.btn-trigger span:nth-of-type(2) {
    top: 43%;
}

.btn-trigger span:nth-of-type(3) {
    bottom: 0;
}

#header-btn span:nth-of-type(1) {
    animation: header-btn-bar01 0.75s forwards;
}

#header-btn span:nth-of-type(2) {
    transition: all 0.25s 0.25s;
    opacity: 1;
}

#header-btn span:nth-of-type(3) {
    animation: header-btn-bar03 0.75s forwards;
}

#header-btn.active span:nth-of-type(1) {
    animation: active-header-btn-bar01 0.75s forwards;
}

#header-btn.active span:nth-of-type(2) {
    opacity: 0;
}

#header-btn.active span:nth-of-type(3) {
    animation: active-header-btn-bar03 0.75s forwards;
}

.header_down {
    position: fixed;
    z-index: 90;
    top: -200vh;
    left: 0;
    padding-bottom: 12vh;
    width: 100vw;
    height: 88vh;
    text-align: center; 
    background-color: #003C56;
    transition: all 0.5s;
}

.header_down.panelactive {
    top: 0;
}

.header_nav {
    margin-top: 14.93vw;
    margin-bottom: 11vh;
    padding-top: 6.5vh;
}

.header_nav_li {
    margin-bottom: 6vh;
    font-size: 4.8vw;
    font-weight: bold;
    list-style: none;
}

.header_nav_li a {
    text-decoration: none;
    display: inline-block;
}

.header_tel_wrapper {
    margin-bottom: 6vh;
}

.header_tel_wrapper_p-1 {
    margin-bottom: 3.47vw;
    font-size: 3.47vw;
    display: inline-block;
}

.header_tel_wrapper_p-1_span {
    margin-left: 6.93vw;
    font-size: 4.53vw;
    display: inline-block;
}

.header_tel_p-2 {
    font-size: 3.2vw;
}

.header_link_telephone {
    margin-bottom: 3.2vw;
}

.header_address_img {
    width: 70.67vw;
    height: auto;
}

.header_link_g-form {
    margin-bottom: 3.2vw;
}

.header_mail-address-img {
    width: 36.91vw;
    height: auto;
}

footer {
    margin: 0 auto;
    padding-bottom: 1.87vw;
    font-family: 'HiraMinProN';
    font-weight: normal;
    font-size: 3.2vw;
    text-align: center;
    color: #FCFCFC;
    background-color: #003C56;
}

.footer_img {
    margin-top: 3.21vw;
    margin-bottom: 2.7vw;
    width: 24.93vw;
    height: auto;
    vertical-align:bottom;
}

.footer_contactAddress {
    margin: 0 auto;
    margin-bottom: 2.18vw;
    display: block;
}

.footer_tel,
.footer_mail {
    display: inline-block;
}

.footer_tel {
    margin-right: 9.61vw;
}

.footer_tel_img {
    width: 25.79vw;
    height: auto;
}

.footer_mail_img {
    width: 27.91vw;
    height: auto;
}

.footer_address_p_wrapper {
    font-size: 3.2vw;
}

.footer_address_p_span {
    font-family: 'YuKyo_Yoko';
    font-weight: normal;
}

.footer_copyright {
    padding-top: 1.87vw;
    font-size: 2.67vw;
    display: block;
}

.prom-sec {
    margin: 0 auto;
    font-size: 3.73vw;
    font-weight: bold;
    text-align: center;
    background-color: #FCFCFC;
}

.prom-sec_tel {
    margin-bottom: 6.67vw;
    padding-top: 4vw;
}

.prom-sec_tel_p_wrapper {
    margin: 0 auto;
    margin-bottom: 2.67vw;
    display: block;
}

.prom-sec_tel_p-1 {
    font-size: 5.33vw;
    font-weight: normal;
    display: inline-block;
}

.prom-sec_tel_p-2 {
    margin-left: 5.33vw;
    font-size: 7.2vw;
    display: inline-block;
}

.prom-sec_tel_p-3 {
    margin-top: 2.67vw;
}

.prom-sec_mail_wrapper {
    padding-bottom: 5.33vw;
}

.prom-sec_mail_wrapper_p {
    margin-bottom: 2.67vw;
}

.prom-sec_img-1 {
    width: 71.47vw;
    height: auto;
}

.prom-sec_img-2 {
    width: 57.33vw;
    height: auto;
}

.main-vis {
    height: 100vh;
    background-size: cover;
    position: relative;
}

.other_main-vis {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.other_main-vis::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: '';
    background-color: #003C56;
    opacity: 0.2;
}

.other_main-vis_h2 {
    position: absolute;
    top: 42vh;
    font-size: 13.33vw;
    font-weight: bold;
    color: #003C56;
}

.scroll-down_wrapper {
    position: absolute;
    bottom: 23.5vh;
    left: 50%;
    z-index: 2;
    display: inline-block;
    transform: translate(0, -50%);
    text-decoration: none;
}

.top_scroll-down_wrapper {
    animation: diplay-none 3.6s ease 0s 1 normal, fadeIn_1 1.5s ease 3.6s 1 normal, up-down 1.5s ease-in-out 0s infinite alternate ;
}

.other_scroll-down_wrapper {
    animation: diplay-none 1.5s ease 0s 1 normal, fadeIn_1 1.5s ease 1.5s 1 normal, up-down 1.5s ease-in-out 0s infinite alternate ;
}

.scroll-down span {
    position: absolute;
    top: 0;
    left: 50%;
    width: 46px;
    height: 46px;
    margin-left: -23px;
    border: 1.5px solid rgba(0, 60, 86, 0.75);
    border-radius: 100%;
    box-sizing: border-box;
}

.scroll-down span::after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: '';
    width: 16px;
    height: 16px;
    margin: -12px 0 0 -8px;
    border-left: 1.5px solid rgba(0, 60, 86, 0.75);
    border-bottom: 1.5px solid rgba(0, 60, 86, 0.75);
    transform: rotate(-45deg);
    box-sizing: border-box;
}

.scroll-down span::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: '';
    width: 44px;
    height: 44px;
    box-shadow: 0 0 0 0 rgba(0, 60, 86, 0.2);
    border-radius: 100%;
    opacity: 0;
    animation: sdb 3s infinite;
    box-sizing: border-box;
}

.top_main-vis {
    background-image: url(../img/sp/jpg/main-vis.jpg);
}

.top_main-vis_p-1_txt {
    padding-top: 25.38vh;
    padding-left: 8vw;
    font-size: 7.47vw;
    font-weight: bold;
    color: #000000;
}

.top_main-vis_p-2_txt {
    padding-top: 15.5vh;
    padding-left: 8.8vw;
    font-size: 5.87vw;
    font-weight: bold;
    line-height: 8vw;
    color: #003C56;
    animation: diplay-none 1.1s ease 0s 1 normal, fadeIn_1 2s ease 1.1s 1 normal;
    
}

.top_sec-1 {
    background-image: url(../img/sp/jpg/top_sec-1_back-img.jpg);
    background-size: cover;
}

.top_sec-1_h2 {
    padding-top: 26.13vw;
    margin-left: 8vw;
    font-size: 5.87vw;
    font-weight: bold;
    line-height: 8vw;
}

.top_sec-1_h2_txt {
    display: inline-block;
}

.top_sec-1_p {
    margin:0 auto;
    margin-top: 14.13vw;
    width: 87.47vw;
    font-size: 5.07vw;
    line-height: 10.13vw;
}

.top_sec-1_links {
    margin: 6.67vw 8.27vw 12vw auto;
    font-size: 4.8vw;
    display:flex;
    justify-content: flex-end;
}

.top_sec-1_links_1 {
    margin-bottom: 8vw ;
    width: auto;
    height: 4.8vw;
    line-height: 4.8vw;
    display: inline-block;
}

.top_sec-1_links_2 {
    height: 4.8vw;
    line-height: 4.8vw;
    display: inline-block;
}

.top_sec-1_links_img {
    position: relative;
    top: 0.75vw;
    margin: auto;
    margin-right: 2.67vw;
    width: 4.8vw;
    height: 4.8vw;
}

.service_service-sec {
    background-color: #FAFAFA;
}

.service_main-vis {
    background-image: url(../img/sp/jpg/service_main-vis.jpg);
}

.about-us_main-vis {
    background-image: url(../img/sp/jpg/about-us_main-vis.jpg);
}

.service_message-sec {
    background-color: rgba(0, 60, 86, 0.1);
}

.service_message-sec_p {
    padding: 18.93vw 6.93vw;
    font-size: 5.07vw;
    line-height: 10.13vw;
}

.service_h3 {
    padding-top: 16vw;
    padding-bottom: 13.87vw;
    font-size: 7.47vw;
    font-weight: bold;
    text-align: center;
    color: #003C56;
    display: block;
}

.service_service-img {
    width: 100vw;
    height: auto;
}

 .service_dl {
    font-size: 6.67vw;
    color: #003C56;
}

.service_dt {
    margin-bottom: 4vw;
    margin-left: 4vw;
}

.service_dd:not(:last-child) {
    margin-bottom: 13.33vw;
}

.service_prom-sec {
    padding-top: 13.33vw;
}

.about-us_main-sec_wrapper {
    width: 100%;
    background-color: #FCFCFC;
}

.about-us_main-sec {
    margin: auto;
    width: 83.33vw;
    height: auto;
}

.about-us_main-sec_img_wrapper {
    margin: auto;
    padding: 16vw 0;
    position: relative;
}

.about-us_main-sec_img_wrapper::after {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 0.53vw;
    background-color: #98A6B5; 
    border-radius: 0.53vw;
    content: "";
    display: block;
}

.about-us_main-sec_img {
    margin: auto;
    width: 46.23vw;
    height: auto;
    display: block;
}

.about-us_dl_wrapper {
    font-size: 4.8vw;
}

.about-us_dl {
    margin-top: 8vw;
}

.about-us_dt {
    margin-bottom: 4vw;
    color: #003C56;
}

.about-us_dd {
    position: relative;
    margin-bottom: 6.27vw;
    padding-bottom: 2.53vw;
    height: 16vw;
    line-height: 8vw;
}

.about-us_dd:last-child {
    margin-bottom: 0;
}

.about-us_dd::before {
    position:absolute;
    bottom: 0;
    width: 100%;
    height: 0.53vw;
    background-color: #CDD6DD; 
    border-radius: 0.53vw;
    content: "";
    display: block;
}

.about-us_sec-2 {
    padding-top: 8vw;
    padding-bottom: 8vw;
    background-color: #FFFFFF;
}

.about-us_sec-2_h-wrap {
    position: relative;
    margin: 0; padding: 0;
    margin-bottom: 3.2vw;
    margin-left: 9.33vw;
}

.about-us_sec-2_image {
    margin: 0; padding: 0;
    width: 11.3vw;
    height: 11.3vw;
    background-image: url(../img/sp/svg/about-us_h3_back-img.svg);
    background-size: cover;
}

.about-us_sec-2_h3 {
    position:absolute;
    top:50%;
    transform:translate(0,-50%);
    left: 4vw;
    margin: 0; padding: 0;
    font-size: 5.33vw;
    line-height: 11.3vw;
    color: #003C56;
}

.google-map {
    margin: auto;
    padding: 0;
    width: 90.13vw;
    height: 68.27vw;
}

.google-map iframe {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}


/* 追加分 */
.movie-sec_wrapper {
  background-color: white;
}
.movie-sec_inner {
  padding: 8vw;
}


