﻿
/* ---------- font ---------- */
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Homemade+Apple&display=swap');

:root{
    --font-jp: 'Zen Maru Gothic',  "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
}
h2, h3, h4, .cate_title {
    font-family: var(--font-jp);
    font-weight: 500!important;
}
/*.font_en, a[href^="tel:"]{
    font-family: var(--font-en);
}*/
.attach_txt  {
    font-family: 'Homemade Apple', cursive;
}


/* ---------- color ---------- */
.sp_nav_ul1  a, .sp_nav_ul2 a {
    color: var(--normal);
}
.hambuger_text{
    color: var(--color1);
}



/* ---------- Animation ---------- */
.fuwa {
  animation: fuwa 1.8s ease-in-out infinite alternate-reverse;
}
.fv_txt_item2 .fuwa {
  animation: fuwa2 1.8s ease-in-out infinite alternate-reverse;
}
@keyframes fuwa {
  0% {
    transform: translateY(-1.5%);
  }
  100% {
    transform: translateY(1.5%);
  }
}
@keyframes fuwa2 {
  0% {
    transform: translateY(1.5%);
  }
  100% {
    transform: translateY(-1.5%);
  }
}


/* ---------- all ---------- */
html {font-size: 17px;}
.catch, .triangle01, #con_nav li:last-child {display: none;}
#footer_info_logo{max-width: 150px;}
#footer_info{display: none;}

.loader_icon {
    width: 200px;
}
.fixbnr {
    display: block;
    z-index: 2;
    right: 50px;
    left: auto;
    bottom: 32px;
    width: 218px;
    position: fixed;
    transition: 0.5s;
}
.fixbnr.scro{
    opacity: 1;
pointer-events: auto;
}
.fixbnr.close{
    opacity: 0;
    z-index: -1;
}

#page-top{
    background-color: transparent;
}
#page-top::before {
    border-left: solid 2px #333333;
    border-top: solid 2px #333333;
}


/* ---------- top ---------- */
.top_logo {
    z-index: 2;
    left: 45px;
    top: 39px;
    width: min(9%, 200px);
}
#main_img {
    height: 100%;
    max-height: 90vh;
}
.mainwrap-l {
    width: 100%;
    height: 100%;
}
#main_img .swiper-container {
    margin: 0;
}
.fv_txt, .fv_txt_item1, .fv_txt_item2 {
    top: 52%;
    width: min(58%, 1000px);
}

#top_contents1, #top_cms{position: relative;}
#top_contents1 {
    background-color: var(--color3);
}
#top_contents1::before, #top_cms::before {
    content: '';
    position: absolute;
    display: block;
    background-repeat: no-repeat;
}
#top_contents1::before, #top_cms::before {
    width: 100%;
    height: 90px;
    background-image: url(../img/nami.png);
    background-size: cover;
    left: 0;
    top: 0;
    transform: rotate(180deg);
    z-index: 0;
}
#top_contents1 .con1_img {
    z-index: 1;
}
#top_cms .cms_title {
    background-image: url(../img/cms_title_icon.png);
    background-position: center top 10px;
    background-size: 45px;
    background-repeat: no-repeat;
    padding-top: 63px;
}
#attach, #page_title{
    position: relative;
}
#attach::before, #page_title::before {
    display: inline-block;
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(113 113 113 / 14%);
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 0;
}
#page_title::before{
    z-index: 1;
}
#attach h2{
    position: relative;
    z-index: 3;
}
#page_title .title_wrap{
    z-index: 5;
}
.cms_box{
    border: none!important;
}


/* ---------- under ---------- */
.cms_5-b .cate_box .open_bt{border-radius: 15px;}
#cms_5-b .cate_box .arrow i, .cms_5-b .cate_box .arrow i{border-radius: 5px;}
.link_type1 .link_top a {border-radius: 20px;}

#cms_3-e .cate_box{
    padding: 10px 0px;
    background-color: #fff;
    border-radius: 10px;
    margin-bottom: 20px;
}
#cms_5-b .cate_box .box_item, .cms_5-b .cate_box .box_item {
    border-radius: 5px;
}
.heading-41 {
    padding: .5em .7em;
    border-left: 5px solid #0095bc;
    background-color: #ffffff;
    color: #333333;
}
.con_bnr  {
    margin-top: 30px;
    width: min(90%,600px);
}


/* ---------- tablet ---------- */
@media screen and (max-width: 768px){
.fixbnr {
    right: 43px;
    width: 162px;
}
.loader_icon {
    width: 230px;
}
#mainwrap {
    padding: 0;
    min-height: 100%;
}
.mainwrap-l {
border-radius: 0;
}
#main_img{
    margin-top: 0;
    max-height: 100%;
}
.fv_txt, .fv_txt_item1, .fv_txt_item2 {
    width: 60%;
}
.top_logo {
    z-index: 2;
    left: 25px;
    top: 16px;
    width: min(14%, 200px);
}
#top_news{
    margin-top: 0;
}
#top_cms{
    padding-top: 100px;
}
.cms_box {
    padding-bottom: 0;
    padding-top: 41px;
    border: none;
}
}

/* ---------- mobile ---------- */
@media screen and (max-width: 667px){
.loader_icon {
    width: 150px;
}
.fv_txt, .fv_txt_item1, .fv_txt_item2 {
    top: 50%;
    width: 101%;
}
.top_logo {
    left: 22px;
    top: 16px;
    width: 26%;
}
.fixbnr {
    right: 7px;
    bottom: 7px;
    width: 131px;
}
#top_contents1::before, #top_cms::before {
    height: 22px;
    background-size: 100%;
}
.con3_wrap3 {
    padding-bottom: 3px;
}
#top_cms {
    padding-top: 13px;
}
#top_cms .cms_title {
    background-size: 37px;
    padding-top: 57px;
    margin-bottom: 25px;
}
.con_bnr {
    margin-top: 30px;
    width: min(100%, 600px);
    margin-bottom: -100px;
}
}







