﻿@import url('https://fonts.googleapis.com/css2?family=Alata&display=swap');
.font2,
#top_cms .more a,
.l-gh__scrollnav,
.tel_bt a,
#page_title .font_2dw{
    font-family: 'Alata', sans-serif;
}

:root{
    --bg:url(./DUp/img/ptn.png), linear-gradient(90deg, rgba(255,158,3,1) 0%, rgb(255 212 93) 100%);
}




/*--all page---------------------------
-------------------------------------*/

.linkStyle{
    color:#ff9e03;
}
.linkStyle:hover{
    transition:all 0.3s;
    opacity:0.7;
    text-decoration:underline;
}

body{
    overflow:hidden;
}



/*--top page---------------------------
-------------------------------------*/
/* ローディング後にじわっと出現 */
.load-blurTrigger{
    opacity: 0;
}
.load-blur{
  animation-name:load-blurAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes load-blurAnime{
  from {
  filter: blur(10px);
  transform: translate(-50%,0) scale(1.02);
  opacity: 0;
  }

  to {
  filter: blur(0);
  transform: translate(-50%,0) scale(1);
  opacity: 1;
  }
}
.catch{
    width: 45vw;
    max-width: 850px;
    left: 50%;
    transform: translate(-50%,0);
    top: 0;
}
.catch img{
    filter: drop-shadow(0 0 10px rgba(0,0,0,0.1));
}

.passing{
    right: 25%;
    bottom: 15%;
    font-weight:bold;
    text-align:center;
}
.passing .passing-bar {
    position: relative;
    display: block;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}
.passing .passing-bar:before {
    content: '';
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(255,158,3,1) 0%, rgb(255 212 93) 100%);
}
.passing.move .passing-bar:before {
    -webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
    animation: passing-bar 1s ease 0s 1 normal forwards;
}
.passing h2{
    font-size:2.5rem;
}
.passing p{
    font-size:1.5rem;
}
.passing .passing-txt {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
	padding: 0 10px;
}
.passing.move .passing-txt {
    -webkit-animation: passing-txt 0s ease .5s 1 normal forwards;
    animation: passing-txt 0s ease .5s 1 normal forwards;
    background-color:#fff ;
    color: #2a2922;
}
@-webkit-keyframes passing-bar{
	0% {left: 0;right: auto;width: 0;}
	50% {left: 0;right: auto;width: 100%;}
	51% {left: auto;right: 0;width: 100%;}
	100% {left: auto;right: 0;width: 0;}
}
@keyframes passing-bar{
	0% {left: 0;width: 0;}
	50% {left: 0;width: 100%;}
	51% {left: 0;width: 100%;}
	100% {left: 100%;width: 0;}
}
@-webkit-keyframes passing-txt{
	0% { opacity: 0; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes passing-txt{
	0% { opacity:0; }
	50% { opacity:0; }
	100% { opacity:1; }
}

#top_news {
    margin-top: -50px;
    height: 80px;
    border-radius: 0 50px 0 0;
    border-left:0!important;
}
#top_news .top_cms_title .cms_title_inner{
    padding:10px;
}
#top_news .more a:hover{
    transform:translateY(-3px);
}
#top_news .more a span{
    display: inline-block;
    width:10px;
    height:10px;
    border-radius:5px;
    margin-right:10px;
}

#top_contents1 h2{
    background-image:url(./Dup/img/sen1.png),url(./Dup/img/sen2.png);
    background-repeat:no-repeat,no-repeat;
    background-size:70px 100%,70px 100%;
    background-position:left,right;
}
#top_contents1 .catch_sub_title{
    font-size:2rem;
}
#top_contents1 .intro_item .img1 img{
    border-radius:20px;
}
#top_contents1 .item{
    width: 14vw;
    max-width:300px;
    bottom: -8%;
    right: 0;
    z-index:2;
}
#top_contents2{
    z-index:1;
}
#top_contents2 .con2_sub_title{
    font-size:3rem;
}
#top_contents2 .item2 {
    width: 15vw;
    max-width: 230px;
    bottom: 0;
    left: -1%;
    z-index: 2;
}
/*右からフェードイン*/
 .faderight {
  opacity: 0;
  transform : translate(200px, 0);
  transition : all 1500ms;
}
.faderight.scrollin,
.fadeleft.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}
/*左からフェードイン*/
 .fadeleft {
  opacity: 0;
  transform : translate(-200px, 0);
  transition : all 1500ms;
}


#top_contents2{
    background:var(--bg);
    background-repeat:repeat,no-repeat;
    background-size:200px,100%;
}

#top_cms .top_cms_bg {
    z-index: -1;
    width: 100%;
    height: 800px;
    background: var(--bg);
    background-size: 200px,100%;
    top: 300px;
    left: 0;
    border-radius: 0 50px 50px 0;
}
#top_cms .more a:hover{
    transform:translateY(-3px);
}
#top_contact_box{
    border-radius: 0 50px 50px 0;
}
#top_contact_box .bottom .box{
    border-radius:0 0 50px 0;
}
#top_contact_box .caution{
    position:absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    margin: auto;
}


/*modal*/
.modal_bt,
.close_bt{
    cursor: pointer;
    border-radius: 30px;
}

.modal_bg{
     /*bottom: 0;*/
     top:0;
     left: 0;
     background-color: rgba(0,0,0,0.8);
     z-index: 9998;
     /*height:90%;*/
     height:100%;
}
.modal_box{
     max-height: 80%;
     overflow-y: auto;
     z-index: 9999;
}



/*--under page---------------------------
-------------------------------------*/

.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;
}

.v_type1 .triangle {
    display: block;
    border: #111 solid 2px;
    box-shadow: 5px 5px 0 0 rgba(0,0,0,0.3);
    border-radius: 20px;
}
.v_type1 .triangle:before {
    content: '';
    position: absolute;
    display: block;
    z-index: 1;
    border-style: solid;
    border-color: #FFF transparent;
    border-width: 13px 13px 0 0;
    bottom: -13px;
    left: 50%;
    margin-left: -9px;
}
.v_type1 .triangle:after {
    content: '';
    position: absolute;
    display: block;
    z-index: 0;
    border-style: solid;
    border-color: #111 transparent;
    border-width: 15px 15px 0 0;
    bottom: -17px;
    left: 50%;
    margin-left: -11px;
}

/* ---------- responshive ---------- */
@media screen and (max-width: 1280px){
.passing {
    right: 10%;
}
}


/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#main_img{
    border-radius:0;
}
#top_news{
    margin-top: -30px;
    border-radius: 0 30px 0 0;
}
#top_news .more a span{
    display:none;
}
.catch{
    top:25%;
}
.passing h2 {
    font-size: 1.5rem;
}
.passing p {
    font-size: 1.1rem;
}
#top_contents1 .item {
    width: 28vw;
}
#top_contents2 .item2 {
    width: 26vw;
    bottom: -3%;
}
#top_contents2,
#top_cms .top_cms_bg,
#top_contact_box,
#top_contact_box .bottom .box,
#footer,
#footer::before{
    border-radius: 0;
}
#top_contents2 .con_box .con_img,
#top_contents2 .con_box .text_box,
#top_contents2 .con_box:nth-of-type(2) .img_box .con_img,
#top_contents2 .con_box:nth-of-type(2) .text_box{
    border-radius: 30px;
}
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
#top_news {
    margin-top: 0;
    border-radius: 0;
    height: 50px;
}
#top_contents1 h2 {
    background-image: none;
}
#top_contents2 .con2_sub_title {
    font-size: 2rem;
}
#top_contents1 .item {
    width: 45vw;
    bottom: -130px;
}
#top_contents2 .item2 {
    width: 38vw;
    bottom: -10px;
}
#top_cms .top_cms_bg {
    height: 500px;
    top: 270px;
}
#top_contents2 .con_box .con_img,
#top_contents2 .con_box:nth-of-type(2) .img_box .con_img{
    border-radius:20px 20px 0 0;
}
#top_contents2 .con_box .text_box,
#top_contents2 .con_box:nth-of-type(2) .text_box{
    border-radius:0 0 20px 20px;
}




}



/*2025-09-10*/
#logo h1.logo{width: 100%!important;}
#logo2{max-width: 250px;}
#footer::before{background: rgb(0 0 0 / 60%);}


/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#logo2{width: 40%!important;}    
}


/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
        #logo h1.logo {
        left: 15px;
        max-width: 120px;    width: 70% !important;
    }
    #logo2{width: 60%!important;}    
}
