@charset "utf-8";
/* CSS Document */
img {
	width: 100%;
}
.site-header {
    background-color: var(--base-3);
    box-shadow: -1px 2px 9px 3px #c7c7c7;
}

.cot_box {
	background-color: #fff !important;
	background-image: url(/img/back.jpg);
}

body{
        background-color: #fdf6ee;
        /* 基本の背景色 */
        background-image: linear-gradient(#fdf6eecf, #fdf6eecf),
            /* ベース色 */
            url(画像リンク);
        /* ノイズ画像 */
        background-repeat: repeat;
        /* 繰り返し */
        background-size: 100px;
        /* ノイズパターンのサイズ調整 */
        color: #333;
        /* テキスト色 */
    }
/* アニメーションの定義 */
/* 1. まず共通の飛び出しアニメーションを定義 */
@keyframes popOut {
  0% { transform: scale(0); opacity: 0; }
  70% { transform: scale(1.1); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

/* 2. 各クレヨンの固有アニメーション（元々の設定） */
@keyframes aoba-bounce { /* 既存のコード */ }
@keyframes aoba-swing  { /* 既存のコード */ }
@keyframes aoba-float  { /* 既存のコード */ }
@keyframes aoba-pop    { /* 既存のコード */ }

/* 3. クレヨンごとの設定を「loaded」かつ「popOut終了後」に限定する */
.top_crayon1.loaded {
  /* 最初はpopOut、0.6秒後にaoba-bounceに切り替える設定 */
  animation: 
    popOut 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards,
    aoba-bounce 2s infinite 0.6s; /* 0.6sは遅延（popOutを待つ時間） */
}

.top_crayon2.loaded {
  animation: 
    popOut 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards,
    aoba-swing 3s infinite ease-in-out 0.6s;
}

.top_crayon3.loaded {
  animation: 
    popOut 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards,
    aoba-float 2.5s infinite ease-in-out 0.6s;
}

.top_crayon4.loaded {
  animation: 
    popOut 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards,
    aoba-pop 4s infinite 0.6s;
}

/* その他の画像（固有の動きがないもの） */
.big_main_box img.loaded:not([class*="top_crayon"]) {
  animation: popOut 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

/* 読み込みが完了する前の初期状態 */
.big_main_box img {
  opacity: 0;
  transform: scale(0);
  transform-origin: center; /* 中心から広がるように */
}

/* 読み込み完了後にJSで付与するクラス */

/* すべての画像に適用する設定 */

/* 画像ごとに少しずつ出現時間をずらす（パラパラ感を出す場合） */
.top_left img { animation-delay: 0.1s; }
.top_right img { animation-delay: 0.2s; }
.top_mid_right img { animation-delay: 0.3s; }
.top_mid_left img { animation-delay: 0.4s; }
/* 必要に応じて他のクラスも同様にずらすとより豪華になります */

/* ローディング画面全体 */
#loading-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff; /* 背景色 */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999; /* 一番手前に表示 */
  transition: opacity 0.5s ease; /* 消える時のふわっと感 */
}

/* 画像を重ねて配置 */
.loading-images {
  position: relative;
  width: 150px; /* 画像のサイズに合わせて調整 */
  height: 150px;
  margin: 0 auto 20px;
}

.loader-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

/* 最初は隠しておく */
.top_main_box {
  opacity: 0;
  transform: scale(0);
}

/* 登場時のアニメーション（画像より少し大きく、強調して出す） */
.top_main_box.is-show {
  animation: popOutMain 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.5) forwards;
}

@keyframes popOutMain {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  60% {
    transform: scale(1.1); /* ぐわっと大きく */
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/* 交互にふわふわ入れ替わるアニメーション */
@keyframes flash {
  0%, 45% { opacity: 1; }
  50%, 95% { opacity: 0; }
}

.img1 { animation: flash 1s infinite; }
.img2 { animation: flash 1s infinite reverse; } /* 逆の動きで交互に */

.loading-text {
  text-align: center;
  font-family: sans-serif;
  letter-spacing: 0.2em;
  color: #333;
}

/* 読み込み完了後にコンテンツを表示するための設定 */
body.loaded #loading-screen {
  opacity: 0;
  pointer-events: none;
}

.site-main {
	max-width: 1140px;
	margin: 0 auto !important;
	width: 100%;
}
.taiyo {
    position: absolute;
    right: -52px;
    top: -63px;
    max-width: 199px;
    width: 100%;
}
.top_cray3 {
position: absolute;
    right: 40%;
    top: 9%;
    max-width: 204px;
    width: 100%;
}
.top_cray4 {
position: absolute;
    right: 20%;
    top: 23%;
    max-width: 130px;
    width: 100%;
}
.top_fuji {
     position: absolute;
    max-width: 354px;
    top: 60px;
    left: 21%;
    width: 100%;
    z-index: -1;
}
.top_main_box_inn_4 {
    background: #fff;
    position: relative;
    /* 波の高さ分、上下に余白を持たせる */
    padding: 25px 0 60px 0; 
    /* 前後のセクションとの兼ね合いで必要なら */
    margin: 60px 0; 

}
.site-content {
		width: 100%;
	overflow: hidden;
}
.top_main_box_inn_select {
	max-width: 1140px;
	margin: 0 auto;
	width: 100%;
	position: relative;
}
/* 上側の波 */
.top_main_box_inn_4::before {
    content: "";
    position: absolute;
    top: -40px; /* 波の高さ分、上にずらす */
    left: 0;
    width: 100%;
    height: 50px; /* 波の高さ */
    background-repeat: no-repeat;
    background-size: 100% 100%;
    /* 塗りつぶしが白(#fff)の波模様SVG */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M0,100 C150,0 350,0 500,100 C650,200 850,200 1000,100 L1000,100 L0,100 Z' fill='%23ffffff'/%3E%3C/svg%3E");
}

/* 下側の波 */
.top_main_box_inn_4::after {
    content: "";
    position: absolute;
    bottom: -40px; /* 波の高さ分、下にずらす */
    left: 46%;
    width: 100%;
    height: 50px; /* 波の高さ */
    background-repeat: no-repeat;
    background-size: 100% 100%;
    /* 上の波を上下反転させた波模様SVG */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 C150,100 350,100 500,0 C650,-100 850,-100 1000,0 L1000,0 L0,0 Z' fill='%23ffffff'/%3E%3C/svg%3E");
}
.aoba-faqTop {
    cursor: pointer;
    transition: background 0.3s;
    padding-left: 100px;
    text-indent: -2.8rem;
}
.aoba-faqBottom {
	padding-left: 55px;
}
.aoba-faqTop h3 {
	margin-bottom: 10px;
}
.aoba-faqContainer {
	margin-bottom: 30px;
}
.aoba-faqTop:hover {
  color: #42210b; /* ホバー時に少し色を変える（任意） */
	transition: 0.5s;
}

/* 矢印アイコンなどを入れたい場合は .is-open を活用してください */
.inside-article {
	position: relative;
}
.inside-article h1 {
	visibility: hidden;
}
.inside-article,.site-info {
    background: #ffffff00 !important;
}
.site-content {
	display: block !important;
}
.grid-container {
	max-width: inherit !important;
}
.inside-header {
	max-width: 1200px !important;
}
.comments-area,.byline,.pld-post-meta span {
	display: none !important;
}
.widget-area.sidebar {
	display: none;
}
.inwide_box {
	max-width: 1200px;
	margin: 0 auto;
	width: 100%;
}
.site-content .content-area {
	width: 100% !important;
}
.foot_copy {
	font-size: 13px;
	text-align: center;
}

/* --- 共通：最初は透明 --- */
.fade-in {
  opacity: 0;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  transition-delay: 0.2s; /* 少し遅らせると綺麗です */
}

/* 下から上 */
.up { transform: translateY(50px); }

/* 右から左 */
.right { transform: translateX(50px); }

/* 左から右 */
.left { transform: translateX(-50px); }

/* --- 表示された時のクラス（JSで付与） --- */
.is-visible {
  opacity: 1;
  transform: translate(0, 0); /* 元の位置に戻る */
}

/*/フォーム/*/
/* フォーム全体の枠組み */
.contact-form-container {
  background: #fffdf5; /* 優しいクリーム色 */
  padding: 30px;
  border: 3px dashed #ffb7c5; /* ピンクの点線 */
  border-radius: 20px;
  max-width: 600px;
  margin: 0 auto;
  color: #555;
}

.form-intro {
  text-align: center;
  font-weight: bold;
  margin-bottom: 25px;
  color: #ef8b47; /* オレンジ色 */
}

/* 各入力欄のグループ */
.field-group {
  margin-bottom: 20px;
}

.field-group label {
  display: block;
  font-weight: bold;
  margin-bottom: 8px;
  font-size: 0.95rem;
}

/* 必須・任意のタグ */
.label-tag {
  background: #ff7f7f;
  color: #fff;
  font-size: 0.7rem;
  padding: 2px 8px;
  border-radius: 4px;
  margin-right: 5px;
  vertical-align: middle;
}

.label-any {
  background: #ccc;
  color: #fff;
  font-size: 0.7rem;
  padding: 2px 8px;
  border-radius: 4px;
  margin-right: 5px;
  vertical-align: middle;
}

/* 入力ボックスのデザイン */
.wpcf7-form-control:not(.wpcf7-submit) {
  width: 100%;
  padding: 12px;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  box-sizing: border-box;
  font-size: 1rem;
}

.wpcf7-form-control:focus {
  border-color: #ffd1d1;
  background-color: #fff;
  outline: none;
}

/* 送信ボタン */
.submit-btn {
  text-align: center;
  margin-top: 30px;
}

.wpcf7-submit {
  background: #88d04b !important; /* 黄緑色 */
  color: #fff !important;
  font-weight: bold !important;
  padding: 15px 50px !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer;
  transition: 0.3s;
  box-shadow: 0 4px 0 #6bad36;
}

.wpcf7-submit:hover {
  transform: translateY(2px);
  box-shadow: 0 2px 0 #6bad36;
  background: #9de063 !important;
}

/* チェックボックスのレイアウト */
.wpcf7-checkbox .wpcf7-list-item {
  display: inline-block;
  margin: 5px 10px 5px 0;
}

/* ハニーポットフィールドを隠す */
.hp-field {
  position: absolute;
  left: -9999px;
  top: -9999px;
  height: 0;
  width: 0;
  overflow: hidden;
}

/*/フォームここまで/*/

/* パンくずリストの外枠 */
.breadcrumb-wrapper {
    background-color: #f9f9f9; /* 薄いグレーで境界をわかりやすく */
    padding: 10px 0;
    font-size: 0.85rem;
    color: #666;
    border-bottom: 1px solid #eee;
}

/* リンクの色とホバー効果 */
.breadcrumb-wrapper a {
    text-decoration: none;
    color: #ef8b47; /* あおばオレンジ */
    transition: 0.3s;
}

.breadcrumb-wrapper a:hover {
    color: #88d04b; /* あおば緑 */
    text-decoration: underline;
}

/* 区切り文字の調整（NavXTの設定でも変えられます） */
.breadcrumb-wrapper span {
    margin: 0 5px;
}
.top-blog-section {
    background-color: #fffdf5; /* 優しいクリーム色 */
    padding: 60px 20px;
 

    margin: 0px 0;
}
.cot_tel img {
    max-width: 35px;
    position: absolute;
    left: -270px;
    top: 32px;
    color: #fff !important;
    right: 0;
    margin: 0 auto;
}
h2.pld-post-title {
	font-size: 21px;
}
.inside-article img {

    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
}
.cot_tel {
	position: relative;
}

/* 上側の波 */
/* FAQセクション全体の調整 */
.aoba-faq {
    position: relative;
    padding: 100px 0 60px; 
    background-color: #B0E3E2; /* 指定の色 */
    z-index: 1;
    margin-top: 60px; /* 波の高さ分、上の要素と距離を置く */
}

/* 上側の定期的な波 */
.aoba-faq::before {
    content: "";
    position: absolute;
    top: -50px; /* 隙間埋め */
    left: 0;
    width: 100%;
    height: 50px;
    background-repeat: repeat-x; /* 横に繰り返す */
    background-size: 270px 50px; /* 波1つ分の幅を指定（100pxで1周期） */
    /* 規則的なサイン波のSVGデータ */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20' preserveAspectRatio='none'%3E%3Cpath d='M0,20 C25,20 25,0 50,0 C75,0 75,20 100,20 Z' fill='%23B0E3E2'/%3E%3C/svg%3E");
}

.aoba-faq::after {
    content: "";
    position: absolute;
    bottom: -50px; /* 隙間埋め */
    left: 0;
    width: 100%;
    height: 50px;
	transform: rotate(180deg);
    background-repeat: repeat-x; /* 横に繰り返す */
    background-size: 500px 50px; /* 波1つ分の幅を指定（100pxで1周期） */
    /* 規則的なサイン波のSVGデータ */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20' preserveAspectRatio='none'%3E%3Cpath d='M0,20 C25,20 25,0 50,0 C75,0 75,20 100,20 Z' fill='%23B0E3E2'/%3E%3C/svg%3E");
}

.cot_tel a:hover,.cot_line a:hover {
	color: #fff;
	opacity: 0.7;
	transition: 0.5s;
}
.cot_tel a {
    background: #4063eb;
    color: #fff;
    font-family: cursive;
    font-weight: 700;
    font-size: 35px;
    text-align: center;
    padding: 20px 10px 20px 45px;
    border-radius: 10px;
	display: block;
	text-decoration: none;
	max-width: 325px;
	width: 100%;
	margin: 0 auto;
}
.cot_tel,.cot_line {
	position: relative;
}
.cot_tel::after {
    content: "";
    border: 2px solid #ffffff;
    border-radius: 10px;
    position: absolute;
    top: -5px;
    left: 3px;
    right: -4px;
    bottom: 3px;
    display: block;
    pointer-events: none;
}
.button_to_about a::before {
    content: "";
    border: 2px solid #ffe175;
    border-radius: 10px;
    position: absolute;
    top: -5px;
    left: 3px;
    right: -4px;
    bottom: 3px;
    display: block;
    pointer-events: none;
}

.cot_line::after {
    content: "";
    border: 2px solid #ffffff;
    border-radius: 10px;
    position: absolute;
    top: -5px;
    left: 3px;
    right: -4px;
    bottom: 3px;
    display: block;
    pointer-events: none;
}
.cot_line a {
	margin: 0 auto;
    background: #50b846;
    color: #fff;
    font-family: cursive;
    font-weight: 700;
    font-size: 30px;
    text-align: center;
    padding: 20px 0px 20px 0px;
    border-radius: 10px;
    display: block;
    text-decoration: none;
    max-width: 325px;
    width: 100%;
}

.cot_box_inn div{
	flex: 1;
}
.top-blog-section .inner {
    max-width: 1000px;
    margin: 0 auto;
}
.cot_box_inn {
    display: flex;
    gap: 35px;
    text-align: center;
    align-items: center;
    justify-content: center;
    max-width: 685px;
    margin: 0 auto;
}
.cot_box h2 {
    font-size: 45px;
    text-align: center;
    font-weight: 700;
}
.cot_text {
    text-align: center;
    margin-bottom: 25px;
}
.cot_box {
	padding: 55px 0;
}
.top-blog-section .section-title {
    text-align: center;
    color: #ef8b47; /* オレンジ */
    font-size: 45px;
    margin-bottom: 40px;
    position: relative;
	font-weight: 700;
}
.h2_side_R {
    max-width: 50px;
    height: auto;
    width: 100%;
    position: absolute;
    top: -4px;
    right: -51px;
	
}
.h2_side_L {
    max-width: 39px;
    height: auto;
    width: 100%;
    position: absolute;
    top: -4px;
    left: -46px;
	    animation: aoba-swing 3s infinite ease-in-out;
}

.abtou_top_box_h2 {
    max-width: 287px;
    width: 100%;
    margin: 0 auto;
    position: relative;
    text-align: center;
}
.shien_prg_box h3 {
	font-size: 20px;
	font-weight: 400;
	text-align: center;
}
.abtou_top_box2_h2 {
    max-width: 470px;
    width: 100%;
    margin: 0 auto;
    position: relative;
    text-align: center;
}
/* タイトルの下の飾り線（くれよん風） */
.top-blog-section .section-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: #ffb7c5;
    margin: 10px auto 0;
    border-radius: 10px;
}

/* 一覧へのボタン */
.view-more {
    text-align: center;
    margin-top: 40px;
}

.btn-blog-list {
    display: inline-block;
    background: #ef8b47;
    color: #fff !important;
    padding: 12px 40px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    transition: 0.3s;
    box-shadow: 0 4px 0 #c66a2a;
}

.btn-blog-list:hover {
    transform: translateY(2px);
    box-shadow: 0 2px 0 #c66a2a;
    background: #f2a673;
}


.privacy-policy h2 {
  text-align: center;
  color: #ef8b47;
  border-bottom: 2px solid #ffb7c5;
  padding-bottom: 10px;
}
.privacy-policy h3 {
  color: #88d04b;
  margin-top: 30px;
  border-left: 5px solid #88d04b;
  padding-left: 10px;
}
.privacy-policy ul {
  padding-left: 20px;
}
.info-box {
  background: #f9f9f9;
  padding: 20px;
  border-radius: 10px;
  margin-top: 10px;
}

.pld-post-list.pld-design-1 {
	display: flex;
	gap:20px;
	flex-wrap: wrap;
	justify-content: space-between;
}
.pld-post-list.pld-design-1 div.pld-post-list-inr {
    width: 48%;
    background: #fff;
    border-radius: 10px;
    padding: 10px;
	position: relative;
}
a.pld-readmorebtn {
	border: none;
}
a.pld-readmorebtn:hover {
	background: none;
	color: #333;
}

.top_main_box_inn2 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 20px;
  padding: 50px 0;
}

/* 共通設定 */
.top_main_box_inn2 img {
  height: auto;
}
.site-header {
    position: fixed !important;
    left: 5%;
    top: 55px;
    border-radius: 10px !important;
    z-index: 9999;
}
.top_main_box h2 {
    text-align: left;
    margin: 0 auto;
    width: 100%;
    font-size: 71px;
    font-weight: 900;
	position: relative;
}

/* クレヨン1：ぴょんぴょん跳ねる */
.top_crayon1 {
  animation: aoba-bounce 2s infinite;
}

/* クレヨン2：左右にゆらゆら揺れる */
.top_crayon2 {
  animation: aoba-swing 3s infinite ease-in-out;
}

/* クレヨン3：ふわふわ浮遊する */
.top_crayon3 {
  animation: aoba-float 2.5s infinite ease-in-out;
}

/* クレヨン4：少しだけ回転しながら拡大縮小 */
.top_crayon4 {
  animation: aoba-pop 4s infinite;
}

/* --- アニメーションの定義 --- */

/* 跳ねる */
@keyframes aoba-bounce {
  0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
  40% {transform: translateY(-30px);}
  60% {transform: translateY(-15px);}
}

/* 揺れる */
@keyframes aoba-swing {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(15deg); }
  75% { transform: rotate(-15deg); }
  100% { transform: rotate(0deg); }
}
body {
  font-family: "proxima-nova", "ryo-gothic-plusn", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif !important;
}
/* 浮く */
@keyframes aoba-float {
  0% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
  100% { transform: translateY(0); }
}

/* ポップ（拡大回転） */
@keyframes aoba-pop {
  0% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.1) rotate(5deg); }
  100% { transform: scale(1) rotate(0deg); }
}
.top_crayon2 { animation-delay: 0.5s; }
.top_crayon3 { animation-delay: 1.2s; }
.top_crayon4 { animation-delay: 0.8s; }

.under_slider {
    width: 100%;
    overflow: hidden; /* はみ出た分を隠す */
    background: #fff;
}

.under_slider_inner {
    display: flex;
    width: max-content; /* 中身の幅に合わせる */
}

.under_slider img {
/* PC: 8個から「5個」に変更して画像を大きく見せる */
    /* お好みで 6 などの数字に変えて調整してください */
    width: calc(100vw / 5); 
    height: auto;
    display: block;
    margin: 0;
    padding: 0;
    object-fit: cover;
}

/* スマホ表示（768px以下） */
@media screen and (max-width: 768px) {
.under_slider img {
        /* スマホ: 3個から「2.5個」にして、端が少し切れて見えるようにすると
           「まだ先に画像がある」ことが伝わりやすくなります */
        width: calc(100vw / 2.5);
    }

}

.aoba_flow_container {
    display: flex;
    justify-content: space-between;
    gap: 60px;
    padding: 50px 0;
    max-width: 1100px;
    margin: 0 auto;
}
/* 2枚目以降の項目の前に矢印を表示（PC時） */
.aoba_flow_item:not(:last-child)::before {
    content: "▶";
    position: absolute;
    top: 50%;
    right: -45px;
    transform: translateY(-50%);
    font-size: 24px;
    color: #8c5a5a;
    z-index: 2;
}
.aoba_flow_item {
    flex: 1;
    text-align: center;
    background: #fff;
    padding: 20px;
    border-radius: 15px;
	position: relative;
    /* 以前作った「枠」のスタイルがあればここに統合 */
}
.aoba_flow_item::after{
content: "";
    border: 2px solid #8c5a5a;
    border-radius: 10px;
    position: absolute;
    top: -7px;
    left: 7px;
    right: -4px;
    bottom: 3px;
    display: block;
    pointer-events: none;
}

.aoba_flow_img img {
    max-width: 150px; /* アイコンの大きさを調整 */
    height: auto;
    margin-bottom: 20px;
}

.aoba_flow_title {
    font-size: 1.25rem;
    color: #8c5a5a; /* クレヨンカラー */
    margin-bottom: 15px;
    position: relative;
	font-weight: 500;
}

.aoba_flow_text {
    font-size: 0.95rem;
    line-height: 1.6;
    text-align: left; /* 説明文は左寄せが読みやすい */
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
    .aoba_flow_container {
        flex-direction: column;
        align-items: center;
    }
    .aoba_flow_item {
        width: 100%;
        margin-bottom: 40px;
    }
}
.abtou_img_box {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    /* 1行追加：文字としての隙間（改行など）をゼロにする */
    font-size: 0; 
}
.under_slider {
	margin-top: 20px;
}


.abtou_img_box {
    display: flex;
    flex-wrap: wrap; /* 折り返しを許可 */
    gap: 10px; /* 画像間の隙間 */
    padding: 20px 0;
}
.abtou_img_box br {
    display: none !important;
}
.gallery-item {
    /* 1行4枚 (100% / 4) から隙間分を引く */
    width: calc(25% - 7.5px) !important; 
    aspect-ratio: 1 / 1; /* 正方形に統一（オシャレに見えます） */
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 切り抜き表示 */
    transition: transform 0.3s ease;
}

.gallery-item:hover img {
    transform: scale(1.1); /* ホバーでズーム */
}


#img-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.8);
    z-index: 10000;
    cursor: zoom-out;
    display: flex;
    justify-content: center;
    align-items: center;
}

#img-overlay img {
    /* 縦横比を維持するための設定 */
    width: auto !important;
    height: auto !important;
    
    /* 画面からはみ出さないための制限 */
    max-width: 90vw;  /* 画面の幅の90%まで */
    max-height: 90vh; /* 画面の高さの90%まで */
    
    /* 歪みを防ぐ */
    object-fit: contain; 
    
    border: 5px solid #fff;
    border-radius: 5px;
    box-shadow: 0 0 30px rgba(0,0,0,0.7);
}
/* スマホは1行2枚 */
@media screen and (max-width: 768px) {
    .gallery-item {
        width: calc(50% - 5px);
    }
}
/* これをCSSに追加、または上書きしてみてください */
.abtou_img_box {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%; /* 親要素いっぱいに広げる */
    max-width: 1000px; /* 必要であれば、コンテンツの最大幅に合わせて調整 */
    margin: 0 auto;    /* 中央寄せ */
}


/*//topp/*/
.page-header-image-single img{
	max-width: 350px;
	width: 100%;
	margin: 0 auto;
}
.copyright-bar {
	display: none !important;
}
.vision-box {
    border: 10px dotted #FF8914;
    border-radius: 35px;
    max-width: 700px;
    width: 100%;
    padding: 35px;
    margin: 0 auto;
}
.concept-box {
    border: 10px dotted #00aad3;
    border-radius: 35px;
    max-width: 900px;
    width: 100%;
    padding: 35px;
    margin: 0 auto;
}
.mission-box {
    border: 10px dotted #ff7987;
    border-radius: 35px;
    max-width: 700px;
    width: 100%;
    padding: 35px;
    margin: 0 auto;
}

.vision-box2 {
position: relative;
    max-width: 490px;
    margin: 0 auto;
    margin-bottom: 20px;
}
.mission-box2 {
    position: relative;
    max-width: 221px;
    margin: 0 auto;
    margin-bottom: 20px;
}
.mission-box2 .h2_side_R {
    max-width: 40px;
    height: auto;
    width: 100%;
    position: absolute;
    top: -4px;
    right: -51px;
}
.mission-box2 .h2_side_L {
    max-width: 82px;
    height: auto;
    width: 100%;
    position: absolute;
    top: -13px;
    left: -82px;
    animation: aoba-swing 3s infinite ease-in-out;
}
.concept-box2 {
    position: relative;
    max-width: 340px;
    margin: 0 auto;
    margin-bottom: 20px;
}
.vision-box2 .h2_side_R {
    position: absolute;
    right: -41px;
    top: 0;
    width: 100%;
    max-width: 50px;
    height: auto;
}
.vision-box2 .h2_side_L {
position: absolute;
    left: -53px;
    top: -10px;
    width: 100%;
    max-width: 66px;
    height: auto;
}
.big_main_box::before {
    content: "";
    width: 126%;
    height: 109%;
    position: absolute;
    left: -12%;
    top: -55px;
	background: #fff;
	border-radius: 50%;
    /*background-image: url/img/w_paper.jpg);*/
    filter: blur(2px);
}
.vision-box,.mission-box {
	margin-bottom: 55px;
}
.concept-box__text {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
.vision-box__sub,.mission-box__sub,h4.concept-box__title {
    text-align: center;
    font-size: 45px;
    font-weight: 700;
    margin-bottom: 10px;
	position: relative;
}
h2.vision-box__title {
	text-align: center;
}
.mission-box {
	text-align: center;
}
.about-vision {
	background: #fff;
	border-radius: 50px;
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
	padding: 25px;
	margin-bottom: 125px;
 }
.top_main_box_inn3_contents {
	text-align: center;
}
.aoba-staffImg img{
	max-height: 550px;
	height: 100%;
	width: auto;
	display: block;
	margin: 0 auto;
	text-align: center;
}
.aoba-faqBottom p {
	font-size: 18px;
}

.foot_ad li.foot_tel a{
    font-size: 35px;
    font-family: cursive;
    text-decoration: none;
    font-weight: 900;
}
.foot_menu {
    display: flex;
    gap: 10px;
    justify-content: space-around;
    max-width: 700px;
    margin: 0 auto;
    margin-bottom: 35px;
}
.foot_menu li a {
	display: block;
	text-decoration: none;
	color: #333;
	
}
.foot_menu li {
	display: inline;
}
.foot_logo {
    max-width: 415px;
    display: block;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 10px !important;
}
.foot_ad {
    text-align: center;
    margin-bottom: 35px;
}
.aoba-staff {
	margin-bottom: 85px;
}
.aoba-staffInfo .aoba-staffMessage {
	text-align: left;
}
.foot_ad li {
	display: block;
}
.foot_box {
	position: relative;
	
}
.foot_access h2 {
text-align: center;
    font-size: 45px;
    font-weight: 700;
}
.foot_access_inn_L,.foot_access_inn_R {
	width: 48%;
}
table.company-info-table,.company-info-table th,.company-info-table td {
	border: none ;
    padding-bottom: 30px;
	padding-top: 20px;
}

.company-info-table th {
	width: 30%;
}
.company-info-table tr{
	position: relative;
}
.company-info-table tr:after {
	content: "";
	border-bottom: 3px dotted #eee;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
.foot_sns {
    display: flex;
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
    gap: 30px;
    justify-content: center;
    margin-bottom: 15px;
    margin-top: 25px;
}
.foot_access {
	max-width: 1140px;
	width: 100%;
	display: block;
	margin: 0 auto;
	padding-top: 55px;
	padding-bottom: 55px;
}
.foot_access_inn_L h3 img {
	max-width: 200px;
	display: block;
	margin: 0 auto;
	width: 100%;
}
.foot_access_inn {
display: flex;
    gap: 20px;
    justify-content: space-between;
    
    border-radius: 10px;
    padding: 35px;
	background: #fff;
	position: relative;
}
.foot_access_inn::after {
    content: "";
   border: 2px solid #dcb147;
    border-radius: 10px;
    position: absolute;
    top: -5px;
    left: 3px;
    right: -4px;
    bottom: 3px;
    display: block;
    pointer-events: none;
}

.foot_sns img {
	max-width: 50px;
	width: 100%;
}
.foot_sns li {
	display: inline;
}
.foot_top {
position: absolute;
    top: -100px;
    left: 0;
    width: 100%;
}

.aoba_flow_img img {
    height: 120px;
    width: auto;
}
.box4_cre1 {
    top: 27px;
    left: 2%;
    max-width: 99px;
    width: 100%;
    position: absolute;
}
.box4_cre2 {
    top: 15px;
    left: 12%;
    max-width: 99px;
    width: 100%;
    position: absolute;
}
.top_main_box_inn_4 h2,.top_main_box_inn_5 h2,.abtou_top_box h2{
    text-align: center;
    font-size: 45px;
    font-weight: 700;
}
.aoba-staff h2 {
	 text-align: center;
    font-size: 45px;
    font-weight: 700;
}
.aoba-titleBox p {
	font-size: 20px;
	text-align: center;
}
.h2_side_R {
	animation: aoba-bounce 2s infinite;
}


.abtou_top_box h3 {
	text-align: center;
	font-size: 20px;
}
/* タブ全体のスタイル */
.tab-group {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
}

.tab1 {
    flex: 1;
    max-width: 250px;
    padding: 15px;
    text-align: center;
    background: #f0f0f0;
    cursor: pointer;
    border-radius: 10px 10px 0 0;
    margin: 0 5px;
    font-weight: bold;
    transition: all 0.3s;
}

.tab2 {
    flex: 1;
    max-width: 250px;
    padding: 15px;
    text-align: center;
    background: #f0f0f0;
    cursor: pointer;
    border-radius: 10px 10px 0 0;
    margin: 0 5px;
    font-weight: bold;
    transition: all 0.3s;
}

/* アクティブなタブ（選ばれている方） */
.tab1.is-active {
    background: #36aaff; /* クレヨン風の色 */
    color: #fff;
}
.tab2.is-active {
    background: #4351f0; /* クレヨン風の色 */
    color: #fff;
}

/* コンテンツパネルの基本設定 */

.panel1 {
    display: none; /* 最初は全部隠す */
    padding: 30px;
    background: #fff;
    border: 2px solid #36aaff;
    border-radius: 10px;
}
.panel2 {
    display: none; /* 最初は全部隠す */
    padding: 30px;
    background: #fff;
    border: 2px solid #4351f0;
    border-radius: 10px;
}
.top_main_box_inn_select table.nagare_box{
	border: none;
}
table.nagare_box th {
    padding-bottom: 15px;
    padding-top: 16px;
	font-size: 22px;
}
table.nagare_box td,table.nagare_box th {
	border: none !important;
	font-size: 22px;

}
.shien_prg_box h2 {
font-size: 45px;
    font-weight: 700;
	text-align: center;
}
.abtou_top_box_h2 span {
	display: block;
}
table.nagare_box th {
	width: 40%;
}
.shien_prg_box {
    margin-bottom: 80px;
    margin-top: 65px;
}
.shien_prg_box_inn {
    display: flex;
    gap: 35px;
    max-width: 750px;
    width: 100%;
    margin: 0 auto;
    justify-content: space-around;
    margin-top: 40px;
}
.shien_prg_box_inn a {
	background: #36aaff;
	max-width: 350px;
	width: 100%;
	color: #fff;
	text-decoration: none;
	font-size: 18px;
	text-align: center;
	display: block;
	margin: 0 auto;
	padding: 10px;
	border-radius: 10px;
}
.shien_prg_box_inn a:hover {
	opacity: 0.7;
	transition: 0.5s;
	color: #fff;
}
table.nagare_box tr {
    position: relative;
    vertical-align: baseline;
}
table.nagare_box tr::after {
    content: "";
    border-bottom: 6px dotted #ffda5d;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}
.panel2 h3,.panel1 h3,.panel1 h4,.panel2 h4 {
	text-align: center;
    
    font-weight: 700;
}
.nagare_box {
	max-width: 500px;
	width: 100%;
	margin: 0 auto;
}
.panel2 p,.panel1 p {
	text-align: center;
}
.panel2 h3 {
	
}
/* 表示するパネル */
.panel.is-show {
    display: block;
    animation: fadeIn 0.5s; /* ふわっと出す */
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.box4_lines {
    position: absolute;
    left: 110px;
    bottom: -38px;
    max-width: 320px;
    width: 100%;
    z-index: 10;
}
.box4_trees {
position: absolute;
    right: 60px;
    top: -61px;
    max-width: 500px;
    width: 100%;
	z-index: 10;
}
.button_to_about a {
max-width: 250px;
    padding: 20px 0;
    width: 100%;
    display: block;
    background: #ffb436;
    margin: 0 auto;
    margin-top: 46px !important;
    margin-bottom: 35px !important;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border-radius: 5px;
	font-weight: 500;
	position: relative;
}
.button_to_about a:hover {
	color: #fff;
	background:#ffc665; 
}
.button_to_about a:hover::after {
    position: absolute;
    content: "";
    background-image: url(/img/crayon7.png);
    background-size: contain;
    width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    top: 6px;
    right: -26px;
}
.button_to_about a::after {
    position: absolute;
    content: "";
    background-image: url(/img/crayon3.png);
    background-size: contain;
    width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    top: 6px;
    right: -16px;
}
.top_main_box_inn_3 {
    background: #fff;
    max-width: 630px;
    width: 100%;
    margin: 0 auto;
    border-radius: 10px;
    padding: 30px 20px 20px; /* 下方向の余白も少し作ると綺麗です */
    position: relative;
    /* 枠がはみ出さないよう、親に少し余裕を持たせる設定 */
    box-sizing: border-box; 
}

.top_main_box_inn_3::after {
    content: "";
    border: 2px solid #8c5a5a;
    border-radius: 10px;
    position: absolute;
    top: -7px;
    left: 7px;
    right: -4px;
    bottom: 3px;
    display: block;
    pointer-events: none;
}
.top_main_box_inn3 {
	display: flex;
	margin-top: 65px;
	flex-direction: column;
}
.top_main_box_inn_2 {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: -15px;
	z-index: 10;
}
.top_main_box_inn_2 img {
    width: 15%;
    height: 100%;
    text-align: center;
}
.top_main_box_inn3 h2 {
    text-align: center;
    font-size: 45px;
    font-weight: 700;
}
.top_main_box_inn_2 .ai-cra1 {
	max-width: 50px;
	width: 100%;
	position: relative;
	bottom: 0;
}
.top_main_box_inn_2 .ai-cra2 {
	max-width: 31px;
	width: 100%;
	position: relative;
	bottom: -6px;
}
.top_main_box_inn_2 .ai-cra3 {
	max-width: 50px;
	width: 100%;
	position: relative;
	bottom: 0;
}
.top_main_box_inn_2 .ai-cra4 {
    max-width: 67px;
    width: 100%;
    position: relative;
    bottom: 3px;
    left: -10px;
}
.top_trees_box {
    z-index: 0;
    width: 100%;
}
.top_house_box {
	z-index: 1;
	width: 100%;
}
.top_tree1,.top_tree2,.top_tree3 {
	max-width: 130px;
	width: 100%;
}
.top_tree1 {
    position: absolute;
    left: -2%;
    bottom: 23px;
    max-width: 200px;
}
.top_house1{
    position: absolute;
    left: -120px;
    bottom: 5px;
	max-width: 150px;
}
.top_house2 {
    position: absolute;
    right: -117px;
    max-width: 193px;
    bottom: 0;
}
.top_house3 {
    position: absolute;
    right: 16%;
    max-width: 231px;
    bottom: 0;
}
.big_main_box {
	position: relative;
}
.top_tree2 {
    position: absolute;
    right: -49px;
    bottom: 98px;
}
.top_tree3 {
position: absolute;
    right: 27%;
    bottom: 148px;
}
.top_mid_right {
    max-width: 180px;
    left: 29%;
    position: absolute;
    width: 100%;
    top: 33px;
	display: none;
}
.top_mid2_right {
    max-width: 101px;
    left: 14%;
    position: relative;
    width: 100%;
    top: -42px;
}

.top_mid2_left {
    max-width: 123px;
    right: 4%;
    position: absolute;
    width: 100%;
    top: 300px;
}
.top_mid_left {
    max-width: 200px;
    right: 17%;
    position: absolute;
    width: 100%;
    top: 126px;
	display: none;
}
.top_cray2_right {
    position: absolute;
    right: 15%;
    top: 0;
    max-width: 104px;
}
.top_left {
	max-width: 175px;
	position: relative;
	top: 0px;
	width: 100%;
}
.top_right {
    max-width: 237px;
    position: absolute;
    top: -34px;
    right: 19%;
    width: 100%;
}
.top_main_box {
    max-width: 700px;
    width: 100%;
    top: -130px;
    position: relative;
    margin-bottom: 100px;
    margin-top: 60px;
}
.top_mid3_right {
max-width: 168px;
    width: 100%;
    left: inherit;
    position: relative;
    top: -146px;
    right: 10%;
}
.top_mid3_left {
    max-width: 210px;
    width: 100%;
    right: -8%;
    position: absolute;
    top: 21%;
}
.inside-header {
    padding: 10px 40px 5px !important;
}
.main-navigation .main-nav>ul {
	    margin-left: 30px;
}
.top_main_box_inn {
    font-size: 14px;
    margin-top: 5px;
	font-weight: 700;
}
.top_main_box_inn2 {
	position: relative;
	width: 100%;
}
.aoba-faqBottom p img {
    max-width: 45px;
    position: relative;
    left: -10px;
    top: 8px;
}
.aoba-faqBottom p {
    text-indent: -2.7em;
    padding-left: 46px;
}
img.top_crayon1 {
    max-width: 135px;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}
img.top_crayon2 {
    max-width: 209px;
    position: absolute;
    left: 276px;
    bottom: 59px;
    width: 100%;
}
img.top_crayon3 {
    max-width: 100px;
    position: absolute;
    right: 41%;
    bottom: 0;
}
img.top_crayon4 {
	max-width: 200px;
	position: absolute;
	right: 0;
	bottom: 0;
}
.main_box {
	max-width: 1140px;
	margin: 0 auto;
	width: 100%;
}
.aoba-staffContainer {
	display: flex;
	flex-wrap: wrap;
	gap:20px;
	justify-content: space-between;
}
.aoba-staffCard {
	width: 22%;
}
.aoba-staffCard p {
	margin-bottom: 10px;
}
.aoba-staffInitial {
	text-align: center;
	font-weight: 500;
}
.aoba-faq {
	background-image: none;
	background: #B0E3E2;
	padding: 50px;
	position: relative;
}
.aoba_faq_inn h2,.aoba_faq_inn h3.faq_title {
	text-align: center;
}
.aoba-faqTop h3 img {
    max-width: 45px;
    width: 100%;
    position: relative;
    top: 4px;
    left: -10px;
}
.aoba_faq_inn h3.faq_title {
    max-width: 45px;
    margin: 0 auto;
    width: 100%;
    position: relative;
    top: -16px;
}
.aoba_faq_inn h2 {
	max-width: 250px;
	width: 100%;
	margin: 0 auto;
}
.aoba_faq_inn {
	max-width: 820px;
	margin: 0 auto !important;
	width: 100%;
}
	/*//podd/*/
@media only screen and (max-width: 860px) {
	
	.main-navigation .main-nav>ul {
    margin-left: 0px !important;
}
	.has-inline-mobile-toggle .mobile-menu-control-wrapper {
        display: flex;
        flex-wrap: wrap;
        right: -26px;
        position: relative;
    }
	
	.mobile-menu-control-wrapper .menu-toggle, .mobile-menu-control-wrapper .menu-toggle:hover, .mobile-menu-control-wrapper .menu-toggle:focus, .has-inline-mobile-toggle #site-navigation.toggled {
		background-color: #fff !important;
	}
	.has-inline-mobile-toggle .mobile-menu-control-wrapper {
        display: flex;
        flex-wrap: wrap;
        right: -26px;
        position: relative;
    }
	
	.main-navigation .main-nav ul li a {
    padding-left: 20px;
    padding-right: 20px;
    line-height: 50px !important;
    font-size: 19px;
    font-weight: 900;
}
	.has-inline-mobile-toggle #site-navigation.toggled {
    margin-top: 1.5em;
    margin-bottom: 30px;
}
	
	
}


	/*//mobb/*/
@media only screen and (max-width: 480px) {
	.top-blog-section .section-title {
    text-align: center;
    color: #ef8b47;
    font-size: 30px;
    margin-bottom: 30px;
    position: relative;
    font-weight: 700;
    margin-top: 30px;
}
	.vision-box2 .h2_side_L {
    position: absolute;
    left: -53px;
    top: -25px;
    width: 100%;
    max-width: 66px;
    height: auto;
}
	.mission-box2 .h2_side_R {
    max-width: 32px;
    height: auto;
    width: 100%;
    position: absolute;
    top: -10px;
    right: -32px;
}
	.mission-box2 .h2_side_L {
    max-width: 63px;
    height: auto;
    width: 100%;
    position: absolute;
    top: -18px;
    left: -61px;
    animation: aoba-swing 3s infinite ease-in-out;
}
	h2.vision-box__title {
    text-align: center;
    font-size: 20px;
}
	h3.mission-box__title {
		font-size: 20px;
	}
	.mission-box {
        border: 10px dotted #ff7987;
        border-radius: 35px 10px;
        max-width: 700px;
        width: 100%;
        padding: 35px 10px;
        margin: 0 auto;
        margin-bottom: 20px;
    }
	.concept-box {
    border: 10px dotted #00aad3;
    border-radius: 35px;
    max-width: 900px;
    width: 100%;
    padding: 35px 10px;
    margin: 0 auto;
}
	.mission-box2 {
    position: relative;
    max-width: 107px;
    margin: 0 auto;
    margin-bottom: 20px;
}
	h2.vision-box__title,h3.mission-box__title {
		font-size: 20px;
	}
	.vision-box__sub, .mission-box__sub, h4.concept-box__title {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
    position: relative;
}
	.vision-box {
        border: 10px dotted #FF8914;
        border-radius: 35px;
        max-width: 700px;
        width: 100%;
        padding: 35px 10px 5px;
        margin: 0 auto;
        margin-bottom: 20px;
    }
	.gallery-item {
    width: calc(50% - 5.5px) !important;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
}
	table.nagare_box td, table.nagare_box th {
    border: none !important;
    font-size: 19px;
}
	.panel1 {
    display: none;
    padding: 30px 5px;
    background: #fff;
    border: 2px solid #36aaff;
    border-radius: 10px;
}
	.foot_menu {
    display: flex;
    gap: 10px;
    justify-content: space-around;
    max-width: 700px;
    margin: 0 auto;
    margin-bottom: 35px;
    flex-direction: column;
    text-align: center;
}
	.shien_prg_box_inn {
    display: flex;
    gap: 0;
    max-width: 750px;
    width: 90%;
    margin: 0 auto;
    justify-content: space-around;
    margin-top: 40px;
    flex-direction: column;
}
	.shien_prg_box_inn a {
    background: #36aaff;
    max-width: 350px;
    width: 100%;
    color: #fff;
    text-decoration: none;
    font-size: 17px;
    text-align: center;
    display: block;
    margin: 0 auto;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 10px;
}
	.shien_prg_box h2 {
font-size: 22px;
        font-weight: 700;
    }
	
	.aoba-staffImg img {
    max-height: 265px;
    height: 100%;
    width: auto;
    display: block;
    margin: 0 auto;
    text-align: center;
}
	
	.wpcf7-form-control:not(.wpcf7-submit) {
		display: block;
	}
	.cot_line::after {
    content: "";
    border: 2px solid #ffffff;
    border-radius: 10px;
    position: absolute;
    top: -5px;
    left: 3px;
    right: -4px;
    bottom: 3px;
    display: block;
    pointer-events: none;
    max-width: 325px;
    margin: 0 auto;
}
	.cot_tel::after {
    content: "";
    border: 2px solid #ffffff;
    border-radius: 10px;
    position: absolute;
    top: -5px;
    left: 3px;
    right: -4px;
    bottom: 3px;
    display: block;
    pointer-events: none;
    max-width: 325px;
    margin: 0 auto;
}
	.foot_access_inn_R {
		        
        height: 350px;
   
	}
	.company-info-table th{
    border: none;
    padding-bottom: 5px;
    padding-top: 12px;
}
	.company-info-table td {
    border: none;
    padding-bottom: 15px;
    padding-top: 0px;
		text-align: center;
}
	.company-info-table th,.company-info-table td {
    width: 100%;
    display: block;
}
	.foot_access_inn {
    display: flex;
    gap: 0px;
    justify-content: space-between;
    border-radius: 10px;
    padding: 35px 10px;
    background: #fff;
    position: relative;
    flex-direction: column;
    width: 90%;
    margin: 0 auto;
}
	.foot_access_inn_L, .foot_access_inn_R {
    width: 100%;
}
	
	.foot_logo {
    max-width: 415px;
    display: block;
    width: 83%;
    margin: 0 auto;
    margin-bottom: 0px !important;
}
	
	.cot_box_inn div {
    flex: inherit;
    width: 100%;
}
	.cot_box h2 {
    font-size: 30px;
    text-align: center;
    font-weight: 700;
}
	
	.cot_text {
    text-align: center;
    margin-bottom: 25px !important;
    font-size: 18px;
    width: 90%;
    margin: 0 auto;
}
	.cot_text br {
		display: none;
	}
	.cot_box_inn {
    display: flex;
    gap: 35px;
    text-align: center;
    align-items: center;
    justify-content: center;
    max-width: 685px;
    margin: 0 auto;
    flex-direction: column;
    width: 100%;
}
	
	.cot_box h2 {
    font-size: 30px;
    text-align: center;
    font-weight: 700;
}
	
	.abtou_top_box_h2 p span {
		display: block;
	}
	
	.aoba-titleBox p {
    font-size: 20px;
    text-align: center;
    margin-bottom: 5px;
}
	
	.aoba-staffInfo {
		text-align: left;
		font-size: 18px;
	}
	
	.aoba-staffInfo .aoba-staffMessage {
		font-size: 18px;
		text-align: left;
	}
	
	.aoba-staffCard {
    width: 48%;
}
	.aoba-staffContainer {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        justify-content: space-between;
        width: 90%;
        margin: 0 auto;
		margin-bottom: 85px;
    }
	
	.aoba-staff h2 {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
}
	
	.h2_side_L {
        max-width: 54px;
        height: auto;
        width: 100%;
        position: absolute;
        top: -13px;
        left: -20px;
        animation: aoba-swing 3s infinite ease-in-out;
    }
	
	.h2_side_R {
    max-width: 50px;
    height: auto;
    width: 100%;
    position: absolute;
    top: -10px;
    right: -10px;
}
	
	.top_main_box_inn_select {
    max-width: 1140px;
    margin: 0 auto;
    width: 95%;
    position: relative;
}
	.tab1,.tab2 {
		padding: 15px 0;
	}
	
	.foot_top {
    position: absolute;
    top: -58px;
    left: 0;
    width: 100%;
}
	
	.pld-post-image-bg img {
        max-width: 150px;
        margin: 0 auto;
        text-align: center;
        display: block;
    }
	
	h2.pld-post-title {
		font-size: 25px;
	}
	
	.pld-post-list.pld-design-1 div.pld-post-list-inr {
    width: 90%;
    background: #fff;
    border-radius: 10px;
    padding: 10px;
    position: relative;
    margin: 0 auto;
}
	
.aoba-faqBottom {
    padding-left: 26px;
    font-size: 21px;
}
	
	.aoba-faqTop h3 {
    margin-bottom: 10px;
    font-size: 21px;
}
	
	.aoba-faqTop {
    cursor: pointer;
    transition: background 0.3s;
    padding-left: 60px;
    text-indent: -2.8rem;
}
	
	.aoba-faq {
    background-image: none;
    background: #B0E3E2;
    padding: 50px 10px;
}
	
	.aoba_flow_item:not(:last-child)::before {
    content: "▶";
    position: absolute;
    top: inherit;
    right: 0;
    font-size: 24px;
    color: #8c5a5a;
    z-index: 2;
    bottom: -64px;
    transform: rotate(90deg);
    left: 0;
}
	
	    .aoba_flow_item {
        width: 90%;
        margin-bottom: 40px;
    }
	
	.box4_lines {
    position: absolute;
    left: 10px;
    bottom: -38px;
    max-width: 270px;
    width: 100%;
    z-index: 10;
}
	
	.tab-group {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
    margin-left: 0;
}
	
	.top_main_box_inn_4 h2, .top_main_box_inn_5 h2, .abtou_top_box h2 {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
}
	.box4_cre2 {
    top: 42px;
    left: 12%;
    max-width: 62px;
    width: 100%;
    position: absolute;
}
	
	.box4_cre1 {
    top: 27px;
    left: 9%;
    max-width: 50px;
    width: 100%;
    position: absolute;
}
	
	.box4_trees {
    position: absolute;
    right: 5px;
    top: -29px;
    max-width: 282px;
    width: 100%;
    z-index: 10;
}
	
	.top_main_box_inn3 h2 {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
}
	
	.top_cray2_right {
    position: absolute;
    right: -11%;
    top: 22px;
    max-width: 83px;
}
	
	.top_tree1, .top_tree2, .top_tree3 {
    max-width: 58px;
    width: 100%;
}
	
	.top_mid2_left {
        max-width: 79px;
        right: -6%;
        position: absolute;
        width: 100%;
        top: 344px;
    }

	
	.top_tree2 {
    position: absolute;
    right: -41px;
    bottom: 54px;
}
	.top_tree1 {
        position: absolute;
        left: 17%;
        bottom: 33px;
        max-width: 73px;
    }
	.top_tree3 {
    position: absolute;
    right: 16%;
    bottom: 62px;
}
	.top_house3 {
        position: absolute;
        right: 39%;
        max-width: 88px;
        bottom: 0;
    }
	
	img.top_crayon3 {
        max-width: 53px;
        position: absolute;
        right: 30%;
        bottom: 55px;
    }
	
	img.top_crayon4 {
max-width: 114px;
        position: absolute;
        right: -21px;
        bottom: 129px;
    }
	
	.top_house2 {
    position: absolute;
    right: -30px;
    max-width: 113px;
    bottom: 0;
}
	
	.top_house1 {
    position: absolute;
    left: -12px;
    bottom: 5px;
    max-width: 90px;
}
	.top_cray4 {
    position: absolute;
    right: inherit;
    top: 47%;
    max-width: 68px;
    width: 100%;
    left: 5%;
}
	img.top_crayon2 {
        max-width: 109px;
        position: absolute;
        left: 66px;
        bottom: 156px;
        width: 100%;
    }
	
	img.top_crayon1 {
        max-width: 85px;
        position: absolute;
        left: -26px;
        bottom: 111px;
        width: 100%;
    }
	.top_left {
    max-width: 120px;
    position: relative;
    top: 0px;
    width: 100%;
		left: 32%;
}
	.top_right {
    max-width: 118px;
    position: absolute;
    top: 9px;
    right: -12%;
    width: 100%;
}
	
	.top_mid3_left {
    max-width: 94px;
    width: 100%;
    right: -3%;
    position: absolute;
    top: 48%;
}
	
	.top_fuji {
    position: absolute;
    max-width: 233px;
    top: 71px;
    left: 4%;
    width: 100%;
    z-index: -1;
}
	
	.top_mid2_right {
    max-width: 104px;
    left: 39%;
    position: relative;
    width: 100%;
    top: -66px;
}
	
	.top_cray3 {
    position: absolute;
    right: 0%;
    top: 18%;
    max-width: 116px;
    width: 100%;
}
	.top_mid3_right {
    max-width: 90px;
    width: 100%;
    left: inherit;
    position: relative;
    top: -142px;
    right: 10%;
}
	.top_main_box {
    max-width: 700px;
    width: 100%;
    top: -100px;
    position: relative;
    margin-bottom: 100px;
}
	.taiyo {
    position: absolute;
    right: inherit;
    top: -63px;
    max-width: 120px;
    width: 100%;
    left: 0;
}
	
	.site-header {
    position: fixed !important;
    left: inherit;
    top: 55px;
    border-radius: 10px !important;
    z-index: 99;
    right: 5px;
}
	
	.top_main_box_inn {
    font-size: 12px;
    margin-top: 5px;
    font-weight: 700;
}
	
	.top_main_box h2 {
    text-align: left;
    margin: 0 auto;
    width: 100%;
    font-size: 35px;
    font-weight: 900;
}
	
	
}