/*
 Theme Name: original_child
 Template: original
 Version:4.1.4
 */



 /*PC スマホ切り替え*/
 /* パソコンで見たときは"pc"のclassがついた画像が表示される */
 @import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
 @import url('https://fonts.googleapis.com/css2?family=Petit+Formal+Script&display=swap');
 *{
  
 }
 :root {

  
}
 body{

   word-break: auto-phrase !important;
  
 }
 .pc {
   display: block !important;
 }
 
 .sp {
   display: none !important;
 }
  /* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
  /* レスポンシブデザイン強化 */
 @media only screen and (max-width: 750px) {
    .pc {
      display: none !important;
    }
  
    .sp {
      display: block !important;
    }
    
    /* モバイル基本設定 */
    body {
      font-size: 14px;
      line-height: 1.6;
    }
    
    /* コンテナの幅調整 */
    .inner, .l-inner {
      width: 94%;
      padding: 0 3%;
    }
    
    /* 見出しのサイズ調整 */
    h1 { font-size: 2rem; }
    h2 { font-size: 1.8rem; }
    h3 { font-size: 1.6rem; }
    h4 { font-size: 1.4rem; }
    
    /* パディング・マージン調整 */
    section {
      padding: 30px 0;
    }
    
    /* フレックスボックスの縦並び */
    .flexbox {
      flex-direction: column;
    }
    
    .flexbox > .bg,
    .flexbox > .txt {
      width: 100%;
      flex: none;
    }
    
    /* テキストサイズ調整 */
    p, li {
      font-size: 14px;
      line-height: 1.8;
    }
    
    /* ボタンサイズ調整 */
    .button-02 a {
      padding: 12px 32px;
      font-size: 14px;
    }
    
    /* 画像の最大幅 */
    img {
      max-width: 100%;
      height: auto;
    }
    
    /* テーブルのレスポンシブ対応 */
    table {
      display: block;
      overflow-x: auto;
      white-space: nowrap;
    }
    
    /* フォーム要素の幅調整 */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    textarea,
    select {
      width: 100%;
      box-sizing: border-box;
    }
  }
  .br-sp {
    display: none;
  }
  
  @media screen and (max-width: 1080px) {
    .br-pc {
      display: none;
    }
  
    .br-sp {
      display: inline-block;
    }
  }
/* 文字 */


h3.bumon{
  font-size: 2rem;
  margin-bottom: 1rem;
}
.flexbox {
  display: flex;
  flex-wrap: wrap;
}

.flexbox > .bg,
.flexbox > .txt {
  flex: 1;
  display: flex;
  align-items: stretch;
}

.flexbox .vMid {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}

.flexbox .bg img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.slider {
  position: relative;
  width: 100%;
  height: 50vh;
  overflow: hidden;
}

.slider .slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: bottom;
  transition: opacity 2s ease-in-out;
  animation-timing-function: ease-in-out;
  opacity: 0;
  animation: fadeSlide 18s infinite;
}

.slider .slide:nth-child(1) {
  animation-delay: 0s;
}

.slider .slide:nth-child(2) {
  animation-delay: 6s;
}

.slider .slide:nth-child(3) {
  animation-delay: 12s;
}

@keyframes fadeSlide {
  0%, 33.33% { opacity: 1; }
  33.34%, 100% { opacity: 0; }
}
/* タブレット対応 */
@media only screen and (min-width: 641px) and (max-width: 1024px) {
	.col2 li{
		width: 48%;
		padding: 0 2%;
		vertical-align: top;
	}
	
	/* タブレット用調整 */
	body {
		font-size: 15px;
	}
	
	.inner {
		width: 90%;
		max-width: 768px;
	}
}

/* デスクトップ対応 */
@media only screen and (min-width: 1025px) {
	.col2 li{
		width: 33%;
		padding: 0 3%;
		vertical-align: top;
	}
}
@media screen and (max-width: 650px){
  h3.vis_h3{
  font-size:1rem !important;
}
    
}