﻿@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
/* ----------　all　---------- */

body {
    font-family: "Noto Serif JP", "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}

html{font-size: 16px;}
body{-webkit-text-size-adjust: 120%;font-size: 18px;}

.font_12{font-size: 14px;}
.font_14{font-size: 16px;}
.font_15{font-size: 17px;}
.font_16{font-size: 18px;}
.font_18{font-size: 20px;}
.font_20{font-size: 22px;}
.font_22{font-size: 24px;}
.font_24{font-size: 26px;}
.font_26{font-size: 28px;}
.font_28{font-size: 30px;}
.font_30{font-size: 32px;}
.font_100per{
font-size: -webkit-calc(1rem + 2px);
font-size: calc(1rem + 2px);
}
.font_2up{
font-size: -webkit-calc(1rem + 4px);
font-size: calc(1rem + 4px);
}
.font_4up{
font-size: -webkit-calc(1rem + 6px);
font-size: calc(1rem + 6px);
}
.font_6up{
font-size: -webkit-calc(1rem + 8px);
font-size: calc(1rem + 8px);
}
.font_8up{
font-size: -webkit-calc(1rem + 10px);
font-size: calc(1rem + 10px);
}
.font_10up{
font-size: -webkit-calc(1rem + 12px);
font-size: calc(1rem + 12px);
}
.font_2dw{
font-size: -webkit-calc(1rem);
font-size: calc(1rem);
}

@media  screen and (max-width: 768px){
.font_12_tb{font-size: 14px;}
.font_14_tb{font-size: 16px;}
.font_16_tb{font-size: 18px;}
.font_18_tb{font-size: 20px;}
.font_20_tb{font-size: 22px;}
.font_22_tb{font-size: 24px;}
.font_24_tb{font-size: 26px;}
.font_26_tb{font-size: 28px;}
.font_28_tb{font-size: 30px;}
.font_30_tb{font-size: 32px;}
.font_100per_tb{
font-size: -webkit-calc(1rem + 2px);
font-size: calc(1rem + 2px);
}
.font_2up_tb{
font-size: -webkit-calc(1rem + 4px);
font-size: calc(1rem + 4px);
}
.font_4up_tb{
font-size: -webkit-calc(1rem + 6px);
font-size: calc(1rem + 6px);
}
.font_6up_tb{
font-size: -webkit-calc(1rem + 8px);
font-size: calc(1rem + 8px);
}
.font_8up_tb{
font-size: -webkit-calc(1rem + 10px);
font-size: calc(1rem + 10px);
}
.font_10up_tb{
font-size: -webkit-calc(1rem + 12px);
font-size: calc(1rem + 12px);
}
.font_2dw_tb{
font-size: -webkit-calc(1rem);
font-size: calc(1rem);
}
}

@media  screen and (max-width: 667px){
html{font-size: 15px;}
body{-webkit-text-size-adjust: 110%;font-size: 15px;}

.font_12_sp{font-size: 13px;}
.font_14_sp{font-size: 15px;}
.font_16_sp{font-size: 17px;}
.font_18_sp{font-size: 19px;}
.font_20_sp{font-size: 21px;}
.font_22_sp{font-size: 23px;}
.font_24_sp{font-size: 25px;}
.font_26_sp{font-size: 27px;}
.font_28_sp{font-size: 29px;}
.font_30_sp{font-size: 31px;}
.font_100per_sp{
font-size: -webkit-calc(1rem + 1px);
font-size: calc(1rem + 1px);
}
.font_2up_sp{
font-size: -webkit-calc(1rem + 3px);
font-size: calc(1rem + 3px);
}
.font_4up_sp{
font-size: -webkit-calc(1rem + 5px);
font-size: calc(1rem + 5px);
}
.font_6up_sp{
font-size: -webkit-calc(1rem + 7px);
font-size: calc(1rem + 7px);
}
.font_8up_sp{
font-size: -webkit-calc(1rem + 9px);
font-size: calc(1rem + 9px);
}
.font_10up_sp{
font-size: -webkit-calc(1rem + 11px);
font-size: calc(1rem + 11px);
}
.font_2dw_sp{
font-size: -webkit-calc(1rem - 1px);
font-size: calc(1rem - 1px);
}
}


/*----- color -----*/
:root{
    --color1: #72bcbc;
    --color2: #96f8f8;
    --color3: #dceeee;
    --color4: #f8f8f8;
    --color5: #3a4a78;
    --white:#ffffff;
    --black:#333333;
    --gray:#ccc;
}

body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: var(--black);}
.txt_white,.hvr_txt_white:hover{color: var(--white);}
.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 */
.txt_color5,.hvr_txt_color5:hover{color: var(--color5);} /* アクセントカラー2 */
/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: var(--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_color5,.hvr_bg_color5:hover{background-color: var(--color5);} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}
/* border-color ※!important */
.border_white,.hvr_border_white:hover{border-color: var(--white);}
.hvr_border_black:hover{border-color: var(--black);}
.border_black{border-color: var(--gray);}
.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);}
.border_color5,.hvr_border_color5:hover{border-color: var(--color5);}

.linkStyle{
	color: var(--color5);
    border-bottom:solid 1px;
}

.linkStyle:hover{
	opacity: 0.7;
	transition: all 0.5s;
}

/*----- color -----*/

#loading_logo {
        max-width: 400px;
}


#footer::before {
        background: rgba(0, 0, 0, 0.5);
}

/* -----追従ボタン------*/

#fix-btn {
    left: 0;
    right: 0;
    margin: auto;
    z-index: 10;
    bottom: 20px;
}

.fix-btn-inner {
    background: var(--color5);
    text-shadow: 0 0 5px rgba(57, 94, 94, 0.5);
    padding: 3% 5%;
    border-radius: 50px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
    transition: 0.3s;
}

.fix-btn-inner:hover {
    transform: translateY(-10px);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
}

.is-hidden {
  visibility: hidden;
  opacity: 0;
}

/* -----　FV　----- */

#main_img {
    height: 85vh;
    background-size: cover;
    background-position: 5% 50%;
}

.main_copy {
    right: 20%;
    top: -5%;
}

.fv_access {
    bottom: 5%;
    right: 2%;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
}

/* ----------　TOP　---------- */

#top_contents1 .catch_txt {
    background: #5FD2CF;
    background: linear-gradient(90deg, rgba(95, 210, 207, 1) 0%, rgba(135, 210, 219, 1) 50%, rgba(180, 212, 230, 1) 100%);
    text-shadow: 0 0 5px rgba(57, 94, 94, 0.5);
}

#top_contents1 .title h2 {
    font-size: clamp(25px, 4vw, 45px);
}

#top_contents2:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(/Files/img/bg_1.jpg);
    background-size: cover;
    filter: blur(3px);
    z-index: 0;
    opacity: 0.8;
}

#top_contents2 .con_box .text_box {
    background-color: rgba(255,255,255,0.85);
    max-height: 130%;
}

/* -----　TOP_CMS　----- */


/* ----------　下層ページ　---------- */
/* 会社情報 */
/* お問い合わせ */
/* プライバシーポリシー */
/* サイトマップ */

/* ----------　PC確認サイズ　---------- */
/* 1536 */
@media screen and (max-width: 1536px){}
/* 1530 × 735 */
@media screen and (max-width: 1530px){}
/* 1366 */
@media screen and (max-width: 1366px){}

/* ----------　タブレット　---------- */
@media screen and (max-width: 768px){

.overlay nav {
    top: calc(50% - 30px);
    height: 80%;
    }


#main_img {
        height: 60vh;
        background-position: 30% 50%;
    }
.main_copy {
    right: 15%;
    top: 14%;
}

.fv_access {
    right: 0;
}

#top_contents2:before {
    background-position: 55% 50%;
}

}

/* ----------　スマホ　---------- */
@media screen and (max-width: 667px){

.fix-btn-inner {
    padding: 5% 5%;
}

#main_img {
    background-image: url(/Files/img/mainvisual_sp.jpg) !important;
    background-position: center top;
    background-size: cover;
    height: 100vh;
    }

.main_copy {
    left: 0;
    right: 0;
    top: 11%;
    margin: auto;
}

#top_contents1 {
    background: #5FD2CF;
    background: linear-gradient(90deg, rgba(95, 210, 207, 1) 0%, rgba(135, 210, 219, 1) 50%, rgba(180, 212, 230, 1) 100%);
    text-shadow: 0 0 5px rgba(57, 94, 94, 0.5);
}

#top_contents1 .catch_txt {
    background: transparent;
    background: transparent;
}


}