/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

@charset "UTF-8";

.site-name-text{
	display: none;
}

#scroll {
  display: flex;
  flex-direction: row;
  height: auto;
  width: 100vw;
  overflow-x: auto;
background: radial-gradient(#fff, #211006);
/* 	overflow: hidden; */
}

#scroll > div {
  font-size: 1em;
  height: 100%;
  min-width: 32vw;
  display: inline-block;
  align-items: center;
  line-height: 1;
}

.lineupBox{
	width: 14vw;
	max-width: 200px;
	margin-top:60px;
}

/* 全体 */
* {
    font-family: "Times New Roman", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "MS PMincho", "MS Mincho", serif;
}

body {
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
	font-size: 1.9vw;
}

body.fadein {
    opacity: 1;
}

body.fadeout {
    opacity: 0;
}

/* ページタイトル */
.pageTitle {
    color: #fff;
    text-align: center;
}

.pageTitleSub {
    position: relative;
    display: inline-block;
}

.pageTitleSub:before {
    content: '';
    position: absolute;
    bottom: -15px;
    display: inline-block;
    width: 30px;
    height: 2px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #fff;
    border-radius: 2px;
}

/* フェイドインブロック */
.fadeinBlock {
    animation-name: fadein;
    animation-duration: 3s;
}

@keyframes fadein {
    from {
        opacity: 0;
        transform: translatey(40px);
    }

    to {
        opacity: 1;
        transform: translatey(0);
    }
}

/* テーブルの装飾を除去 */
table tr:nth-of-type(2n+1) {
    background-color: rgba(255, 255, 255, 0);
}

/* 見出しの装飾を除去 */
.article h2 {
    padding: 0;
    background: none;
    margin-bottom: 0px;
    font-size: 8vw;

}

.article h3 {

    border: none;

    padding: 0;

}

.article h4 {

    border: none;

    padding: 0;

}

.article h5 {

    border: none;

    padding: 0;

}

.article h6 {

    border: none;

    padding: 0;

}

/* メイン */
.main,
.footer {
    text-align: center;
    background-color: #211006;
}

.main{
	padding: 36px 0px;
}

.margin0{
	margin: 0px !important;
}

/* ヘッダー */
/* 黒マスク */
.header::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    /* 黒マスク。数字で濃さ調整 */
    background: rgba(0, 0, 0, 0.4);
    z-index: 2;
}

/* 中のコンテンツがマスクの下に隠れないようにする */
.header-in {
    position: relative;
    z-index: 3;
}

/* サイト名 */
.header .logo-text {
    padding: 20px 0 0 0;
}

/* トップページ */
.header .site-name-text {
    opacity: 0;
    /* 最初は透明 */
    transform: translateY(120px);
    /* 最初は少し下にずらす */
    transition: opacity 5s ease, transform 6s ease;
    /* 透明と位置を滑らかに */
    font-size: 3em;

}

.header .tagline {
    opacity: 0;
    /* 最初は透明 */
    transform: translateY(-50px);
    /* 最初は少し下にずらす */
    transition: opacity 5s ease, transform 6s ease;
    /* 透明と位置を滑らかに */
    font-size: 3em;
    margin: -0.4em 1em
}

/* ページ読み込み後に表示させる */
.header .site-name-text.show,
.header .tagline.show {
    opacity: 1;
    transform: translateY(0);
}

/* セクションタイトル */
.titleSectionArea {
    color: #ED7103;
    font-style: italic;
}

.contactSection {
    width: 100%;
    height: 500px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-image: url(https://kennysolar.co.jp/images/sample02.png);
    display: flex;
    justify-content: space-around;
    align-items: center;
    position: relative;
    z-index: 2
}

.contactSection::before {
    background-color: rgba(0, 0, 0, 0.7);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: ' ';
}

.contact {
    border: 2px solid #ED7103;
    padding: 30px;
    color: #ED7103;
    font-size: 5vw;
    z-index: 3;
	cursor: pointer;
	position: relative;
}

.contact a {
    text-decoration: none;
    color: #ED7103;
}

.arrow-down {
      width: 0;
      height: 0;
      border-left: 2vw solid transparent;
      border-right: 2vw solid transparent;
      border-top: 2vw solid #ED7103;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: 20px;
    }

#toggleContactContent {
      overflow: hidden;
      max-height: 0;
      transition: max-height 0.5s ease;
      padding: 0 10px;
	color: #000;
    }

    #toggleContactContent.open {
      /* JSで別途制御可能 */
    }

/* ナビゲーション */
/* ヘッダーを背景にしてナビを上に */
.header-container {
    position: relative;
    z-index: 1;
}

#navi {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10;
    background: none;
}

/* ナビの中身を右寄せにする */
#navi ul {
    display: flex;
    justify-content: flex-end;
}

.navi-in>ul {
    margin: 15px 30px 15px 15px;
}

.navi-in a {
    font-size: 1.3em;
}

/*ホバー時に色を変化しない*/
#navi .navi-in a:hover {
    background-color: rgb(255 255 255 / 0);
    transform: scale(1.2);
}

#navi .navi-in a:after {
    position: absolute;
    content: "";
    left: 0px;
    bottom: 0;
    height: 2px;
    width: 100%;
    background: #fff;
    transform: scale(0, 1);
    transition: 0.3s;
}

#navi .navi-in a:hover:after {
    transform: scale(1);
}

.item-label {
    text-shadow: 0 0 4px #D3611A, 0 0 10px #D3611A;
}

/* お問い合わせ */
.page-id-148 .header {
    display: none;
}

/* 会社概要 */
.page-id-40 .header {
    display: none;
}

.pad20 {
    padding: 20px;
}

.overviewContainer::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 2;
}

.overviewContainer {
    position: relative;
    display: inline-block;
}

.overviewContainer img {
    width: 100%;
    height: auto;
}

.overviewTable {
    width: 100%;
    max-width: 700px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, 0.8);
    border-collapse: collapse;
    border: 1px solid #ccc;
    /* text-align: center; */
    z-index: 3;
    color: #000;
}

.overviewTable th,
.overviewTable td {
    border: 1px solid #fff;
    padding: 1em;
}

.overviewTable th {
    background-color: rgba(237, 113, 3, 0.9);
    color: #fff;
    font-weight: bold;
    text-align: center;
    width: 20%;
    min-width: 4em;
}

/* googleMap */
.googlemap iframe {
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
    /* Googleマップをグレースケールにする */
}

/* 色を変えるためのオーバーレイ要素の設定 */
.googlemap.wp-block-group {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
}

.googlemap>div {
    position: relative;
}

.googlemap>div::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    pointer-events: none;
    mix-blend-mode: overlay;
    background: #0091ff;
    /* 好きな色コードに変更 */
}

/* ローディング */
#loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #211006;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s ease;
}

#loading-screen.fade-out {
    opacity: 0;
    pointer-events: none;
}

.bottle-container {
    width: 250px;
    height: 400px;
    position: relative;
}

.water {
    fill: #ED7103;
    animation: fillUp 4s ease-in-out infinite;
    transform-origin: bottom;
    transform-box: fill-box;
}

.loading-text {
    position: absolute;
    bottom: -10px;
    width: 100%;
    text-align: center;
    font-weight: bold;
    color: #fff;
}

@keyframes fillUp {
    0% {
        transform: translateY(100%);
    }

    50% {
        transform: translateY(0%);
    }

    100% {
        transform: translateY(100%);
    }
}

/* コンタクトフォーム */
/* フォーム全体のスタイリング */
.custom-form {
    max-width: 600px; /* フォーム全体の最大幅を指定し、中央寄せでバランスを整える */
    margin: 0 auto; /* 中央に配置 */
    color: #fff;
	text-align: left;
}

.custom-form label {
    display: inline-block; /* ラベルを独立したブロック要素として扱う */
    margin-bottom: 8px; /* ラベル下に余白を追加して間隔を調整 */
    font-weight: bold; /* ラベルの文字を強調 */
    font-size: 14px; /* ラベルの文字サイズを調整 */
}

/* 必須ラベルのスタイリング */
.custom-form .required {
    display: inline-block; /* 必須ラベルをインラインで表示 */
    margin-left: 5px; /* ラベルと必須マークの間隔を調整 */
    padding: 2px 6px; /* 内側の余白を設定して視認性を向上 */
    font-size: 12px; /* 必須ラベルの文字サイズを指定 */
    color: #fff; /* テキスト色を白に設定 */
    background-color: #ED7103;
    border-radius: 3px; /* ラベルを角丸にして柔らかい印象に */
    font-weight: bold; /* ラベルの文字を太字に */
}

/* 入力フィールド */
.custom-form input[type="text"],
.custom-form input[type="email"],
.custom-form input[type="tel"],
.custom-form textarea {
    width: 100%; /* フィールド幅をフォームに合わせて最大化 */
    padding: 10px; /* 内側の余白を設定して入力しやすくする */
    margin-bottom: 30px; /* 各フィールドの下に余白を設定して間隔を広げる */
    border: 2px solid #ED7103; /* メインカラーを枠線に適用 */
    border-radius: 5px; /* 入力フィールドを角丸に */
    background: #f8f9fa; /* フィールド背景を薄いグレーに設定 */
    font-size: 14px; /* フィールド内テキストのサイズを指定 */
    transition: border-color 0.3s ease, background-color 0.3s ease; /* フォーカス時のスムーズな変化を設定 */
}

.custom-form input[type="text"]:focus,
.custom-form input[type="email"]:focus,
.custom-form input[type="tel"]:focus,
.custom-form textarea:focus {
    border-color: #ED7103; /* フォーカス時の枠線色を強調 */
    outline: none; /* ブラウザデフォルトのフォーカス枠を削除 */
    background: #FAD2B2; /* フォーカス時の背景色をメインカラーの薄いバリエーションに変更 */
}

/* 送信ボタンの調整 */
.custom-form input[type="submit"] {
    display: block; /* ブロック要素として中央揃えしやすく設定 */
    width: 80%; /* ボタン幅を適度に制限 */
    margin: 0 auto; /* ボタンを中央寄せ */
    padding: 12px 20px; /* ボタン内側の余白を調整 */
    border: none; /* 枠線を削除してシンプルなデザインに */
    border-radius: 25px; /* ボタンを丸みのある形状に設定 */
    background: #ED7103; /* ボタン背景にメインカラーを適用 */
    color: #fff; /* ボタン文字を白に設定 */
    font-size: 16px; /* ボタン文字のサイズを指定 */
    cursor: pointer; /* ボタンにホバーポインタを表示 */
    transition: background-color 0.3s ease; /* ホバー時の背景色変更をスムーズに */
}

.custom-form input[type="submit"]:hover {
    background: #6faebd; /* ボタンホバー時にメインカラーの濃いバリエーションを表示 */
}

.custom-form p{
	margin-bottom: 0px;
}

#wprmenu_bar .menu_title{
	display: none;
}

.wpcf7-response-output{
	color: #fff;
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px) {
    /*必要ならばここにコードを書く*/
}

/*910px以下*/
@media screen and (max-width: 910px) {
    /*必要ならばここにコードを書く*/
	#mg-wprm-wrap,#wprmenu_bar{
		opacity:0.8;
	}
	
	#wprmenu_bar div.hamburger{
		padding-right: 25px;
	}
	
	#navi{
		display: none;
	}
}

/*834px以下*/
@media screen and (max-width: 834px) {
    /*必要ならばここにコードを書く*/
	body {
	font-size: 2.3vw !important;
}
	.main{
		padding:32px 0px !important;
}
}

/*480px以下*/
@media screen and (max-width: 480px) {
    /*必要ならばここにコードを書く*/
}