@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

.sp{
   display: block;
}

@media (min-width: 600px) {
  .sp{
   display: none;
  }
}

.c-gnav>.menu-item-76>a .ttl {
    display: block;
    font-size: 14px;
    background: #FF7F00;
    padding: 10px;
    color: #fff;
}

.p-mainVisual__slideTitle {
  font-size: 6.5vw;
  font-weight: 800;
  line-height: 1.1;
  font-family: 'Kosugi', sans-serif;
  text-shadow: 0 2px 4px rgba(0,0,0,.8),
               0 8px 16px rgba(0,0,0,.6);
  display: inline-block;
  margin-bottom: 10px;
}

.p-mainVisual__slideTitle .small{
  font-size: 5.0vw;
}

.p-mainVisual__slideText{
  color: #F8CD23;
  font-size: 3.8vw;
  margin-bottom: 180px;
}

/* 初期状態 */
.p-mainVisual__textLayer .p-mainVisual__slideTitle,
.p-mainVisual__textLayer .p-mainVisual__slideText {
  opacity: 0;
  transform: translateX(0) rotate(0deg);
}

/* =============================
   ▼ 最初のタイトル（左から2回転）
============================= */
.is-animate .p-mainVisual__slideTitle {
  animation:
    rotateInLeft 1.8s cubic-bezier(.4, 0, .2, 1) 1.5s forwards,
    fadeOutLeftFull 1.6s ease 12s forwards;
}

/* =============================
   ▼ 最初のテキスト（右から2回転）
============================= */
.is-animate .p-mainVisual__slideText {
  animation:
    rotateInRight 1.8s cubic-bezier(.4, 0, .2, 1) 4.5s forwards,
    fadeOutRightFull 1.6s ease 12s forwards;
}

/* ===== 左から2回転 ===== */
@keyframes rotateInLeft {
  0% {
    transform: translateX(-120vw) rotate(-720deg);
    opacity: 0;
  }
  100% {
    transform: translateX(0) rotate(0deg);
    opacity: 1;
  }
}

/* ===== 右から2回転 ===== */
@keyframes rotateInRight {
  0% {
    transform: translateX(120vw) rotate(720deg);
    opacity: 0;
  }
  100% {
    transform: translateX(0) rotate(0deg);
    opacity: 1;
  }
}


/* =============================
   ▼ secondBox（従来の動き）
============================= */

.secondBox,
.secondBox2 {
  font-size: 6.0vw;
  font-weight: 800;
  line-height: 1.1;
  font-family: 'Kosugi', sans-serif;
  text-shadow: 0 2px 4px rgba(0,0,0,.8),
               0 8px 16px rgba(0,0,0,.6);
  display: inline-block;
  opacity: 0;
}

.secondBox {
  position: absolute;
  top: 40%;
  left: 5%;
  width: 100%;
}

.secondBox2 {
  position: absolute;
  top: 55%;
  left: 5%;
  width: 100%;
}

.is-animate .secondBox {
  animation:
    slideInLeft 1.5s ease-out 12.8s forwards,
    fadeOutLeftFull 1.6s ease 16.8s forwards;
}

.is-animate .secondBox2 {
  animation:
    slideInRight 1.5s ease-out 17.8s forwards,
    fadeOutRightFull 1.6s ease 22s forwards;
}


/* =============================
   ▼ 通常スライド
============================= */
@keyframes slideInLeft {
  from { transform: translateX(30px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}

@keyframes slideInRight {
  from { transform: translateX(-30px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}


/* =============================
   ▼ フェードアウト
============================= */
@keyframes fadeOutLeftFull {
  0% { opacity: 1; transform: translateX(0); }
  100% { opacity: 0; transform: translateX(-100vw); }
}

@keyframes fadeOutRightFull {
  0% { opacity: 1; transform: translateX(0); }
  100% { opacity: 0; transform: translateX(100vw); }
}


@media (min-width: 600px) {
    .p-mainVisual__slideTitle{
        font-size: 52px;
        text-shadow:  0 2px 4px rgba(0,0,0,.8),
                      0 8px 16px rgba(0,0,0,.6);
    }
    .p-mainVisual__slideTitle .small{
        font-size: 40px;
     }
    .p-mainVisual__slideText{
        font-size: 24px!important;
        font-weight: 600;
        font-family: 'Kosugi', sans-serif;
        text-shadow:  0 2px 4px rgba(0,0,0,1.0),
                      0 8px 16px rgba(0,0,0,.9);
        line-height: 2.0;
    }
    .secondBox {
        font-size: 52px;
        text-shadow:  0 2px 4px rgba(0,0,0,.8),
                      0 8px 16px rgba(0,0,0,.6);
    }
    .secondBox .small{
        font-size: 40px;
     }
    .secondBox2 {
        font-size: 52px;
        font-family: 'Kosugi', sans-serif;
        text-shadow:  0 2px 4px rgba(0,0,0,.9),
                      0 8px 16px rgba(0,0,0,.7);
        line-height: 2.0; 
    }
 }
 .mincho{
   font-family:"Yu Mincho";
 }
 .u-mb-ctrl u-mb-5{
   line-height: 1.4;
 }

.l-footer__nav ul.sub-menu a {
        font-size:2.5vw!important;
        padding-left: 12px;
        display: flex;
        align-items: center;
    }
   
   .l-footer__nav ul.sub-menu a::before {
     content: "▶";
     font-size: 5px;
     left: 0;
     top: 0;
     margin-right: 3px;
    }

@media (min-width: 600px) {
  .l-footer__nav ul.sub-menu a {
        font-size:10px!important;
        padding-left: 12px;
        display: flex;
        align-items: center;
    }
   
   .l-footer__nav ul.sub-menu a::before {
     content: "▶";
     font-size: 5px;
     left: 0;
     top: 0;
     margin-right: 3px;
    }
  .l-footer__nav a,
   .l-footer__nav li:first-child a {
    border: none;
  }  
}

.l-footer__nav {
   justify-content: left;
   display: grid;

}

@media (min-width: 600px) { 
  .l-footer__nav {
     justify-content: center;
     display: flex;
  }
}
@media (max-width: 768px)  {
.swell-col-reverse .swell-block-columns__inner{
flex-direction: column-reverse; 
}
}

.loop-slider {
    display: flex;
    overflow: hidden;
    gap: 1.5rem; /* 画像間の余白を指定 */
}

.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
    display: contents;
}

.loop-slider .swell-block-columns__inner {
    flex-wrap: nowrap;
    animation: infinity-scroll-left 20s infinite linear; /* アニメーションの時間を指定 */
}

.loop-slider .swell-block-column figure {
    width: 500px; /* 画像の横幅を指定（パソコン） */
    position: relative;
}

.loop-slider .swell-block-column figure::before {
    padding-top: 65%; /* 画像の縦横比を指定 */
    display: block;
    content: "";
}

.loop-slider .swell-block-column figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

@media screen and (max-width: 959px) {
    .loop-slider .swell-block-column figure {
        width: 200px; /* 画像の横幅を指定（スマホ） */
    }
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

@media (max-width: 959px){
  .p-mainVisual video{ display:none !important; }
  .p-mainVisual{
    background-image: url("https://xs964748.xsrv.jp/jtec/wp-content/uploads/2026/02/top_main_sp.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}

/* Contact Form 7 */

/* テキストを太字 */
.wpcf7-form label {
font-weight: bold;
}
/* フォームの下に余白 */
.wpcf7-form p {
margin-bottom: 30px;
}
/* フォームのカスタマイズ */
.wpcf7-text, .wpcf7-email, .wpcf7-tel, .wpcf7-textarea {
width: 100%;
background-color: #fff;
margin-top: 5px;
}
@media (min-width: 600px) {
	.wpcf7-text, .wpcf7-email, .wpcf7-tel, .wpcf7-textarea {
	width: 70%;
	background-color: #fff;
	margin-top: 5px;
	}
}
/* ラジオボタンの左の余白 */
.wpcf7-radio span {
margin-left: 0;
}
/* ボタンのカスタマイズ */
.wpcf7-submit, .wpcf7-previous {
display: inline-block;
width: 240px;
padding: 1.2em 1em;
border-radius: 50px;
background: #D53633;/* ここにメインカラー */
font-size: 16px;
font-weight: 700;
letter-spacing: 0.2em;
line-height: 1;
color: #fff!important;
}
/* 必須マーク */
.required {
color: #fff;
background: #D53633;/* ここにメインカラー */
font-size: 0.8em;
padding: 0.3em;
border-radius: 0.5em;
}

.pd-clear .swell-block-dl__dd{
  margin-left:0!important;
  padding: 0!important;
} 

.w-beforeFooter {
   background: #2b79b5;
}
.footer-contact-title{
  text-align: center!important;
}
.post_content div>:first-child .contact-icon{
  margin-top: -50px!important;
}
.post_content div>:last-child .footer-contact-bottom{
  margin-bottom: 2.0em!important;
}
.box-radius20{
  border-radius: 20px;
}

.wp-block-list.noboder{
  border: 0!important;
}

.box-blue{
 max-width: 600px;
 margin: 10px auto;
 border: 1px solid #2b79b5;
}

.post_content h3.fs11 {
        font-size: 1.1em!important;
}
@media (max-width: 767px) {
 .u-fz-l {
   font-size: 1.2em!important;
 }
}
.is-style-clmn-shadow>.swell-block-columns__inner>.mt20 {
   margin-top: 20px!important;
 }
 
 
/* スマホで上下反転 */

@media (max-width: 768px)  {
  .swell-col-reverse .swell-block-columns__inner{
    display: flex;
    flex-direction: column-reverse; 
 }
}

.w900{
  max-width: 900px;
  margin: 10px auto;
}
/* PC用：スマホのみ表示（.sp）を隠す */
@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

/* スマホ用：PCのみ表示（.pc）を隠す */
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

/* 動画の下部を基準にして配置する */
.p-mainVisual__video {
    object-position: center bottom !important;
}
.wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.wpcf7-list-item {
    width: 40%; /* これで1項目1行になります。50%にすれば2カラムになります */
}
@media screen and (max-width: 768px) {
	.wpcf7-list-item {
	    width: 100%; /* これで1項目1行になります。50%にすれば2カラムになります */
	    font-size: 0.9em!important;
	}
}
