﻿/*--------------------------------------------
 色 ・　文字
----------------------------------------------*/
:root{
    --color1: #092237;
    --color2: #ebf1f1;
    --color3: #63a6db;
    --color4: #092237;
	--text: #444444;
    --base: #ffffff;
    
    --font1: 16px;
    --fontB1: 32px;
    --font-jp: 'Noto Sans JP', "游ゴシック Medium", sans-serif;
}
/* スマホ */
@media screen and (max-width: 667px){
    :root{
        --fontB1: 22px;
    }
}
/*--------------------------------------------
 
----------------------------------------------*/

/* --------------------------------------------
 リンクボタン 
---------------------------------------------*/



/*--------------------------------------------
 色 ・　文字
----------------------------------------------*/
html,body,.font_10,.font_11,.font_12,.font_13,.font_14,.font_15{font-size: var(--font1);}
.font_2up{font-size: max(calc(var(--font1) + 2px), calc(1rem  + 2px));}
.font_4up{font-size: max(calc(var(--font1) + 4px), calc(1rem  + 4px));}
.font_2dw{font-size: max(calc(var(--font1) - 2px), calc(1rem  - 2px));}
.font_4dw{font-size: max(calc(var(--font1) - 4px), calc(1rem  - 4px));}
.font_6dw{font-size: max(calc(var(--font1) - 6px), calc(1rem  - 6px));}



/* color */
body, .txt_color_nomal, .hvr_txt_color_nomal:hover{color: var(--text);}
.linkStyle{transition: 0.5s;color: var(--text)}
.linkStyle:hover{opacity: 0.7}

.txt_white, .hvr_txt_white:hover{color: white;}
.txt_red, .hvr_txt_red:hover{color: var(--red);}
.txt_color1, .hvr_txt_color1:hover{color: var(--color1)} /* メインカラー */
.txt_color2, .hvr_txt_color2:hover{color: var(--color2)} /* サブカラー */
.txt_color3, .hvr_txt_color3:hover{color: var(--color3)} /* アクセントカラー1 */
.txt_color4, .hvr_txt_color4:hover{color: var(--color4)} /* アクセントカラー2 */

/* background-color */
.bg_white, .hvr_bg_white:hover{background-color: white} /* 白背景 */
.bg_black, .hvr_bg_black:hover{background-color: var(--black)} /* 黒背景 */
.bg_color1, .hvr_bg_color1:hover{background-color: var(--color1)} /* メインカラー */
.bg_color2, .hvr_bg_color2:hover{background-color: var(--color2)} /* サブカラー */
.bg_color3, .hvr_bg_color3:hover{background-color: var(--color3)} /* アクセントカラー1 */
.bg_color4, .hvr_bg_color4:hover{background-color: var(--color4)} /* アクセントカラー2 */
.bg_color_clear, .hvr_bg_color_clear:hover{background-color: transparent!important}


/* border-color ※!important */
.border_white, .hvr_border_white:hover{border-color: white}
.border_black, .hvr_border_black:hover{border-color: var(--black)}
.border_color1, .hvr_border_color1:hover{border-color: var(--color1)}
.border_color2, .hvr_border_color2:hover{border-color: var(--color2)}
.border_color3, .hvr_border_color3:hover{border-color: var(--color3)}
.border_color4, .hvr_border_color4:hover{border-color: var(--color4)}


/************追加***********************/
#footer #map {
    display: none;
}
.linkStyle {
    color: #fe6000;
}
#contents h3 {
    text-align: center;
    font-weight: 600;
}
.cate_list li .cate_no {
    display: none;
}
#intro #intro_box #intro_txt h3 {
    font-size: 35px;
    line-height: 1.5;
}
h1 img {
    width: 200px;
}
#main_img h2 {
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    /* width: 55% !important; */
    z-index: 3;
    transform: translate(50%, 50%);
    left: 38%;
    top: -16%;
}
.font_bold {
    font-weight: 700;
}
#contents::before, #contents2::before {
    z-index: 2;
    background-image: none;
    background-position: left top;
    background-size: 100% 100%;
    opacity: 0.5;
}
#contents_links .box_wrap .box a h4 {
    background-color: var(--color1);
}
#contents_links .box_wrap .box a div span::after {
    background-color: var(--color1);
}
#contents_links .box_wrap .box a p {
    margin-bottom: 30px;
}
#intro #intro_box #intro_txt h3::after {
   display: none;
}
#contents_links .en_font {
    color: var(--color1);
}
#contents_links .box_wrap .box a:hover .en_font {
    color: #fff;
}
#contents div, #contents2 div {
    margin: 0 auto;
}
/*#contents2 div {
    margin-left: 5%;
}*/
#contents2 div::after {
    background-color: rgb(9, 34, 55);
}
#contents h4, #contents2 h4 {
    font-size: 23px;
}
.tel a, .tel p {
    width: 410px;
}
#main_img h2 {
    opacity: 0;
  animation: 3s ease-out 5s forwards topanime;
  animation-delay: 2.3s;
  /*position: relative;*/
}
@keyframes topanime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/******************************************/
.modal_bg{
     top: 0;left: 0;
     background-color: rgba(0,0,0,0.8);
     z-index: 9
}
.modal_box{
     max-height: 80%;
     overflow-y: auto;
     z-index: 10
}
.close_bt{cursor: pointer}

.modal_bt{
    margin: 50px auto 0;
}
/***********************************************/
.hamon {
    right: 55%;
    top: 40%;
}
.hamon2 {
    right: 45%;
    top: 0%;
}
.ripple {
  position: relative;
  margin:  0 auto;
  top: 100px;
  width: 300px;
  height: 150px;
  border-radius: 300px / 150px;
  border: 9px solid #fff;
  transform: scale(0.01,0.01);
  opacity: 0;
  animation: 3s ease-out 5s forwards running spread;
}
.ripple2 {
  position: relative;
  margin:  0 auto;
  top: 100px;
  width: 300px;
  height: 150px;
  border-radius: 300px / 150px;
  border: 9px solid #fff;
  transform: scale(0.01,0.01);
  opacity: 0;
  animation: 5s ease-out 5s forwards running spread2;
}

@keyframes spread {
  from {
    opacity: 1;
  }
  to {
    transform: scale(1,1);
    opacity: 0;
  }
}

.delay1 {
  top: -70px;
  animation-delay: 4.3s;
}

.delay2 {
  top: -240px;
  animation-delay: 4.7s;
}
@keyframes spread2 {
  from {
    opacity: 1;
  }
  to {
    transform: scale(1,1);
    opacity: 0;
  }
}

.delay3 {
  top: -70px;
  animation-delay: 5.0s;
}

.delay4 {
  top: -240px;
  animation-delay: 5.4s;
}
/***************************************/
#page09 .opacity07 {
    opacity: 1;
}
#contents h3 {
    font-size: 50px;
    margin-bottom: 100px;
    line-height: 1;
}
/* タブレット */
@media screen and (max-width: 768px){
#main_img h2 {
    width: 0% !important;
    font-size: 35px;
    left: 37%;
    top: 0%;
}
.hamon2 {
    right: 18%;
    top: 0%;
}
    #intro #intro_box #intro_txt {
        transform: none;
        margin-top: -70px;
    }
    #intro #intro_box #intro_txt h3 {
    font-size: 30px;
    line-height: 1.5;
}
#contents h3 {
    font-size: 40px;
    margin-bottom: 100px;
    line-height: 1;
}
}
/* スマホ */
@media screen and (max-width: 667px){
#intro h3 {
    font-size: 27px;
}
#intro_box h3 {
    font-size: 20px;
}
#footer_box h2 {
    padding-left: 10px;
}
#main_img h2::before {
    opacity: 0;
}
    /*#main_img h2 {
        width: 60% !important;
        font-size: 25px;
        top: -350px;
        right: -115px;
    }*/
    /*#main_img h2 {
    -ms-writing-mode: unset;
    writing-mode: unset;
    width: 100% !important;
    z-index: 3;
    font-size: 23px;
}*/
/*#main_img h2 {
    opacity: 1;
  animation: none
}*/
.modal_box {
    padding: 50px 0;
}
.hamon2 {
    right: 0%;
    top: 0%;
}
.hamon {
    right: 25%;
    top: 30%;
}

h1 img {
    width: 150px;
}
.tel a, .tel p {
    width: 275px;
}
@keyframes spread {
  from {
    opacity: 1;
  }
  to {
    transform: scale(0.5,0.5);
    opacity: 0;
  }
}

.delay1 {
  top: -70px;
  animation-delay: 4.3s;
}

.delay2 {
  top: -240px;
  animation-delay: 4.7s;
}
@keyframes spread2 {
  from {
    opacity: 1;
  }
  to {
    transform: scale(0.5,0.5);
    opacity: 0;
  }
}
    .font_14_tb {
        font-size: 16px;
    }
    .top_cms_title h3, #page_title h3 {
        font-size: 19px;
    }
    #cms_2-e .cate_txt, #cms_2-e .box_txt {
        line-height: 1.7;
    }
    #cms_2-e .cate:last-of-type {
    padding-bottom: 50px;
}
#contents h4, #contents2 h4 {
    font-size: 17px;
}
    #intro #intro_box #intro_txt h3 {
        font-size: 24px;
        line-height: 1.5;
    }
        #contents h3 {
        font-size: 27px;
    }
        #main_img {
        height: 100vh;
        min-height: 100vh;
    }
        #main_img h2 {
        font-size: 25px;
        left: 22%;
        top: -50%;
        height: 100vh;
    }
}