﻿@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@300;400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');
@import url("https://use.typekit.net/urt0hhi.css");
@import url('https://fonts.googleapis.com/css2?family=RocknRoll+One&display=swap');
body {
    font-family: 'Kosugi Maru', sans-serif;
}
.cms_title .font_38 span, #contents .box h3 span {
    font-family: 'RocknRoll One', sans-serif;
    font-weight: normal;
}
.view-month h1 {
    display: none;
}
.htmlembed-page-title {
  font-size: 15px;
}
.en_font {
    font-family: liana,script;
font-weight: 400;
font-style: normal;
letter-spacing: 0;
}

.nav li .nav2, .other .box_title2, .t_cms_txt2, .t_cms_txt5, .t_cms_txt8, .cms_title p:first-child {
    font-family: 'Dosis', sans-serif;
    font-weight: bold;
}
.line svg {
    fill: #6fc0ed;
}
#contents .box .txt_wrap {
    position: relative;
}

.t_cms_txt2, .t_cms_txt5, .t_cms_txt8 {
    background: url(Dup/img/hukidasi.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 14px 14px 37px;
    position: absolute;
    top: -92px;
}
#contents .box h3 span {
    letter-spacing: 2px;
    color: #2ebdb3;
    text-shadow: 1px 1px 1px #ffffff, -1px 1px 1px #ffffff, 1px -1px 1px #ffffff,
 -1px -1px 1px #ffffff, 1px 0px 1px #ffffff, 0px 1px 1px #ffffff, -1px 0px 1px #ffffff,
 0px -1px 1px #ffffff;
}
.t_cms_txt2 span, .t_cms_txt5 span, .t_cms_txt8 span {
color: #60e3e9;    
}

.nav li .nav2 {
     opacity: 0.4;
}
.t_cms_txt2, .t_cms_txt5, .t_cms_txt8 {
    font-size: 36px;
}
.main_img_wrap .catch {
    bottom: inherit;
    top: 41%;
    transform: translateY(-50%);
    max-width: 1192px;
    width: 75%;
    right: 2%;
    left: auto;
}
.fvlogo {
    position: absolute;
    right: 2%;
    top: -4%;
    width: 30%;
    max-width: 385px;
    display: none;
}
#top_cms {
    position: relative;
}
#top_cms:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 31px;
    right: 20px;
    width: 300px;
    height: 300px;
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("Dup/img/illust_dram.png");
}


.main_img_wrap {
    /*position: absolute;*/
}
.btn_contact {
    max-width: 400px;
    margin: 165px auto 0;
    position: relative;
}
.btn_contact a:after {
    display: block;
    transition: all 0.3s;
}

.btn_contact a:hover:after {
    transform: translate3d(8px, 8px, 0);
   
}

.btn_contact a:after {
    content: "";
    display: block;
    position: absolute;
    top: -105px;
    right: 17px;
    width: 368px;
    height: 117px;
    background-image: url(Dup/img/btn_contact.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
}
.btn_contact a:before {
    content: "";
    display: block;
    position: absolute;
    top: -81px;
    right: 11px;
    width: 366px;
    height: 112px;
    background-image: url(Dup/img/btn_contact_bg.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
}



.nav .logo.width_10per {
    width: 17%!important;
    padding-left: 19px;
}
.is-fixed .nav .logo.width_10per {
    width: 14%!important;
}
#loading_line .line.bg_color1 {
background-color: #f9f6ea;
}

.top_nav ul li:not(:last-child) a:after {
    content: "";
    display: block;
    position: absolute;
    width: calc(100% - 3rem);
    height: 3px;
    bottom: -7px;
    left: 10px;
    right: 0;
    margin: auto;
    background: #72fef8;
    opacity: 0;
    transform: translate3d(0,3px,0) scaleX(0);
    transition: transform .4s cubic-bezier(.6,0,.3,1) 25ms,background-color .15s linear,opacity 0s linear .425s;
}
.top_nav ul li a:hover:after {
    transform: translateZ(0) scaleX(1);
    opacity: 1;
    transition: transform .3s cubic-bezier(.25,.9,.3,1.15),background-color .15s linear,opacity .15s linear;
}
.top_nav ul li a span, .nav li a span {
    display: inline-block;
    transition: transform .4s cubic-bezier(.6,0,.3,1) 25ms;
 }
.top_nav ul li a:hover span, .nav li a:hover span {
    transform: translate3d(0,-3px,0);
    transition: transform .65s cubic-bezier(.25,.9,.3,1.15) 25ms; 
 }
.top_nav ul li:last-child a span {
    background: #00c7e7;
    padding: 10px;
    border-radius: 7px;    color: #fff;
}
.top_nav ul li:last-child a:hover span {
     transform: translate3d(0,-3px,0);
     transform: translateY(-5px);
    transition: transform .65s cubic-bezier(.25,.9,.3,1.15) 25ms;
    color: #fff;
}

.top_nav ul li, .menu .nav ul li {
    border-left: 0;
}
.top_nav ul li a:hover {
    color: #dffeff;
}
#dec1 img {
    width: 20px;
}

#dec2 img {
    width: 90px;
}

.cms_title {
    text-align: center;
}

.illust1 {
    width: 42px;
    right: 18px;
    top: -50px;
    z-index: 1;
}
.illust2 {
    width: 48px;
    left: 26px;
    top: -20px;
    z-index: 1;
    transform: rotate(-15deg);
}
.illust3 {
    width: 46px;
    right: 18px;
    top: -15px;
    z-index: 1;
}
.all_page {
    background-image: url("Dup/img/illust_dram.png");
    background-position: 98% 99%;
    background-size: 307px;
    background-repeat: no-repeat;
}
.all_page .illust1 {
    width: 34px;
    right: 34px;
    top: inherit;
    bottom: -30px;
    z-index: 1;
    transform: rotate(13deg);
}
.all_page .illust2 {
    width: 40px;
    right: 112px;
    top: inherit;
    bottom: -38px;
    z-index: 1;
    left: inherit;
}
.cate_box {
    background: rgba(255, 255, 255, 0.78);
    border-radius: 17px;
    margin-top: 20px;
    box-shadow: 0px 5px 16px -6px rgba(0, 0, 0, 0.09);
}
#page9 .box_wrap {
    background: rgba(255, 255, 255, 0.78);
    border-radius: 17px;
    padding: 15px;
    box-shadow: 0px 5px 16px -6px rgba(0, 0, 0, 0.09);
}
.cms_1-a .cate_box {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}
#cms_1-a .cate_box {
    padding: 20px;
}

#cms_3-a .cate {
    padding: 22px;
    background: rgba(255, 255, 255, 0.78);
    border-radius: 17px;
    box-shadow: 0px 5px 16px -6px rgba(0, 0, 0, 0.09);
}
#cms_3-a .cate_box {
    box-shadow: none;
}
#cms_6-c .cate_box {
    background: rgba(255, 255, 255, 0.78);
    border-radius: 0 0px 17px 17px;
    margin-top: 20px;
}
.cms_6-c .cate_box {
border-radius: 0 0px 17px 17px;
}
.cms_6-c h3 {
    background-image: url(Dup/img/border_line.png);
    border: 0;
    background-repeat: repeat-x;
    background-size: auto 3px;
    background-position: 0 100%;
    padding-bottom: 8px;
}
#tel_txt  {
    background: rgba(255, 255, 255, 0.78);
}
.cate_list {
    background-image: url(Dup/img/border_line.png);
    border: 0;
    background-repeat: repeat-x;
    background-size: auto 3px;
    background-position: 0 100%;
}


.youtube_box {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.youtube_box iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

#footer {
    overflow: hidden;
}
footer .txt_white {
    color: #323232;
}

footer .svg_box {
    opacity: 0.4;
    z-index: -1;
}
.sns_links li {
    max-width: 40px!important;
}

.other .box {
    border-radius: 10px;
    border: 2px solid #65bbec;
    width: 33%;
    margin: 30px 30px 0px;
    height: 339px;
    
}
.other .box figure {
    opacity: 0.2;
}
.other .box:first-child {
    background-image: url(./Dup/img/contact.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center bottom; 
}
.other .box:last-child {
        border-left: 2px solid #65bbec;
   background-image: url(./Dup/img/information.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center bottom;
}
@media(min-width: 1550px) {
#video {
overflow: hidden;
}
#video video {
    margin-top: -82px;
}
}

@media(max-width: 1350px) {
.main_wrap {
        margin-top: 54vw;
    }
}
@media(max-width: 1000px) {
  .main_wrap {
    margin-top: 56.5vh;
}
}
@media(max-width: 768px) {
.main_img_wrap .catch {
    top: 21%;
    width: 83%;
}
    
    .main_wrap {
    margin-top: 40.5vh;
}
.other .box {
    width: 40%;
    margin: 20px 12px;
    height: 264px;
}
.sns_links li {
    max-width: 35px!important;
}
.illust1 {
    width: 32px;
    top: -18px;
}
}
@media(max-width: 768px) {
.btn_contact a:after {
    width: 308px;
}
.btn_contact a:before {
    width: 306px;
}
}
@media(max-width: 667px) {
    .overlay ul {
    width: 71%;
}
    #video {
        overflow: hidden;
    }
    video.width_100per {
    width: 120%!important;
    transform: translateX(-10%);
}
    .t_cms_txt2, .t_cms_txt5, .t_cms_txt8 {
    padding: 14px 17px 37px;
    top: -80px;
}
    .cms_1-a .cate_box {
    margin: 0;
    width: 100%!important;
}
    .cms_title {
    margin-bottom: 8px;
}
    body {
    font-size: 15px;
}
.top_cms_wrap {
    padding-bottom: 20px;
}
    #dec2 img {
    width: 62px;
}
    #top_cms:after {
    bottom: 21px;
    right: 20px;
    width: 144px;
    height: 200px;
}
    #top_cms .cms_title p:nth-child(2) {
    font-size: 24px;
    }
.main_img_wrap .catch {
    top: 25%;
    left: 0;
    width: 99%;
    right: 0;
    margin: auto;
}
.illust1 {
    width: 23px;
    right: 18px;
    top: -18px;
}
.all_page .illust1 {
    width: 22px;
    right: 26px;
    bottom: -20px;
}
.all_page .illust2 {
    width: 27px;
    right: 80px;
    bottom: -18px;
}
.illust3 {
    width: 25px;
    right: 18px;
    top: -15px;
}
.t_cms_txt2, .t_cms_txt5, .t_cms_txt8 {
    font-size: 26px;
}
    .main_wrap {
    margin-top: 63.5vw;
}
.all_page {
    background-size: 133px;
}
.btn_contact a:after {
    width: 268px;
    right: 10px;
    width: 77%;
    left: 0;
    margin: auto;
}
.btn_contact a:before {
    width: 77%;
    top: -87px;
    right: 0;
    left: 0;
    margin: auto;
}
.other .box_title {
    font-size: 17px;
}
.other .box {
    width: 90%;
    margin: 7px 12px;
    height: 192px;
}
.other .box:first-child {
    border-bottom: 2px solid #65bbec;
    margin-top: 20px;
}
#cms_1-a .pager li {
    margin: 0;
}
.cms_6-c .box_wrap {
		padding: 0 3px;
	}

}

@media(min-width: 668px) {
    #page_title p {
    text-shadow: 1px 1px 0 #FFFFF0, -1px -1px 0 #FFFFF0, -1px 1px 0 #FFFFF0, 1px -1px 0 #FFFFF0, 0px 1px 0 #FFFFF0, 0-1px 0 #FFFFF0, -1px 0 0 #FFFFF0, 1px 0 0 #FFFFF0;
}
}

