﻿@charset "utf-8";

/* 1536 , 1530 × 735 ,1366 *//* 上記画面幅でも崩れていないか確認 */

/* 修正した場合→各項目の一番下に日付をコメントアウトして追記 */




/*■■　ALL　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/


/* color */
.txt_color_nomal, .hvr_txt_color_nomal:hover{color: var(--black);}
:root{
    --color1: #54c7e2; 
    --color2: #eaf9f9; 
    --color3: #177acc; 
    --color4: #a6e2e8; 
    --color5: #096791; 
    --black: #151a1e; 
	--linkStyle:#1577ad;
}

.txt_red, .hvr_txt_red:hover{color: #C12326;}
.txt_gray, .hvr_txt_gray:hover{color: #ccc}
.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_black, .hvr_bg_black:hover{background-color: var(--black)} /* 黒背景 */
.bg_gray, .hvr_bg_gray:hover{background-color: #ccc}
.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_black, .hvr_border_black:hover{border-color: var(--black)}
.border_gray, .hvr_border_gray:hover{border-color: #ccc}
.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)}


.linkStyle{
	color:var(--color1);
}
.linkStyle:hover{
	color:var(--color1);
	opacity: 0.7;
	transition: all 0.5s;
}

.point_no{
    pointer-events: none;
}

.font_2dw {
    font-size: 16px;
}
a {
    color: var(--linkStyle);
}

/*header*/
header.pd_t-30px{
    padding-top: 20px;
    padding-bottom: 0px;
}
#header .logo_wrap {
    width: 270px;
}
/*footer*/
#footer_info .info_title {
    color: var(--color3);
    opacity: 0.4;
}
#footer_info .time{
    display: none;
}



/* ---------------------------　タブレット　-------------------------- */
@media screen and (max-width: 768px){
    #header.active .logo_wrap {
    width: 160px;
}

    #header .nav_wrap{
    margin-top: 0;
}
#footer_info .info_title {
    position: static;
    margin-bottom:50px;
}
#footer_info .info_txt_wrap{
    padding-bottom: 10px;
}
}

/* --------------------------　スマホ　-------------------------- */
@media screen and (max-width: 667px){
    
#header .logo_wrap {
    width: 180px;
}
#header.pd_20px_sp {
        padding: 0 0 15px 0;
    }
    
#header.pd_20px_sp.active {
                padding: 20px 20px 15px 20px;
    }
#header .logo_wrap{
        margin-right: 0;
    margin-left: 15px;
}
.menu_stick {
    top: 15px;
}
}



/*■■　FV　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#main_img{
    height: 86vh;
    min-height: 550px;
/*    background-color: var(--color2);*/
    padding-top: 0;
    overflow: hidden;
    min-width: 1200px;
    background-image: url('/Files/img/main1.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

#main_img .main2 {
    width: 50%;
    max-width: 760px;
    left: 5%;
    top: 40%;
    transform: translate(0, -50%);
    mix-blend-mode: hard-light;
}
#main_img .main3 {
        width: 65%;
            padding-left: 20px;
}
#main_img .main4 {
        width: 30%;
    max-width: 450px;
    right: 0;
    bottom: 10%;
}
#windLayer {
    width: 100%;
    height: 100%;
    overflow: hidden;
    top: 0;
    left: 0;
    mix-blend-mode: screen;
}
/* 波のコンテナ（共通） */
.wind-wave-group {
    position: absolute;
    left: 100%; 
    width: 160%; 
    opacity: 0;
}

/* 個別の波（SVGを内包する要素） */
.wind-wave-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation: waveBob 4s ease-in-out infinite alternate;
}

/* --- アニメーション定義 --- */

/* 1. 右から左へ流れる動き（全体） */
@keyframes waveFlow {
    0% { transform: translateX(0); opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { transform: translateX(-300%); opacity: 0; }
}

/* 2. 上下にゆらゆら揺れる動き（個別の波） */
@keyframes waveBob {
    0% { transform: translateY(0); }
    100% { transform: translateY(20px); } /* 20pxの範囲で揺れる */
}

/* ---------------------------　タブレット　-------------------------- */
@media screen and (max-width: 768px){
#main_img{
    min-width:auto;
}
#main_img .main2 {
    width: 83%;
    top: 29%;
}
#main_img .main4{
    width: 50%;
}
}

/* --------------------------　スマホ　-------------------------- */
@media screen and (max-width: 667px){
#main_img{
    background-position: right top;
}
#main_img .main2 {
    width: 94%;
    left: 3%;
}
#main_img .main3{
    padding-left: 10px;
}
#main_img .main4{
    width: 76%;
}
.wind-wave-group {
        width: 300%; 
    }
    
}



/*■■　TOP　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.con_title{
    font-size: 38px;
    color:var(--color1);
}

.con2_item .con_title{
    color: #fff;
}
.cms_title h3{
    font-size: 30px;
}
#top_contents1 .con_sub_title.txt_color1{
    color: var(--color4);
}
#top_contents2 .con2_bg{
        background-color: var(--color5);
              opacity: 0.6;
}
  .con3_bg, .footer_bg{
    background-image: linear-gradient(139deg, #e6f3ff, #f1fffb 64%, #e9fdff);
}


/*#top_contents3 .con3_no{
    color: var(--color5);
}*/
/* ---------------------------　タブレット　-------------------------- */
@media screen and (max-width: 768px){
#top_contents1 .con1_txt_wrap{
    padding-top: 50px;
}
#top_contents2 .con2_item{
    margin-bottom: 20px;
}
#top_contents2 .con_sub_title{
    display: none;
}
}

/* --------------------------　スマホ　-------------------------- */
@media screen and (max-width: 667px){
.con_title{
    font-size: 26px;
}
.cms_title h3{
    font-size: 24px;
}    
    #con_nav {
        padding-bottom: 280px;
    }
    #top_contents1 .info_title {
        top: calc(-60vw - 82px);
    }
    #top_contents1 .con1_img.mg_b-100px_sp{
        margin-bottom: 40px;
    }
    #top_contents2 .con2_item.mg_b-50px_tb {
        margin-bottom: 20px;
    }
}



/*■■　下層ページ　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.cate_list li a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
        padding: 10px 34px 10px 10px;
}
#page_title .title_img {
    height: 280px;
}
#page_title .title_wrap {
    margin-top: 20px;
}
#pc_nav li a.active::before {
    display: none;
}


/*ブログ*/
.blog_wrap .border_color2, .blog_list .border_color2{
    border-color: var(--color1);
}

/*お問い合わせ*/
#tel_txt .title {
    color: var(--color3) !important;
}

.button a {
    background: var(--color1);
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    padding: 10px 25px 10px 10px;;
    color: #fff;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    border: solid 2px var(--color1);
font-size: 32px;
}
.button a:hover {
    background: var(--color2);
    color: var(--color1);
}
.button a:after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 25px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.button a:hover:after {
    border-color:var(--color1);
}

/* ---------------------------　タブレット　-------------------------- */
@media screen and (max-width: 768px){
#page_title .title_img{
    height: 200px;
}
}

/* --------------------------　スマホ　-------------------------- */
@media screen and (max-width: 667px){
#page_title .title_img{
    height: 150px;
}
/*お問い合わせ*/
.button a {
    font-size: 20px;
}
}


