/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

* {
    box-sizing: border-box;
}
body{
	color: #333;
    font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
    font-weight: 500;
}
.entry-content[data-ast-blocks-layout] > figure{
	margin-bottom: 0;
}
.ast-container{
	max-width: 400px;
	margin: 0 auto;
	padding: 0;
}
.pos-rel{
	position: relative;
}
.gmap_iframe{
	aspect-ratio: 3/2;
	max-width: 360px;
	width: 100%;
	height: auto;
}
.map-ab{
	position: absolute;
	bottom: 10.5%;
	left: 5%;
	width: 90%;
}
.insta-flex-ab{
    display: flex;
    position: absolute;
    bottom: 17%;
    left: 50%;
    transform: translateX(-50%);
    width: 95%;
    text-align: center;
    z-index: 10;
}
.insta-ab{
	position: absolute;
	bottom: 9.5%;
	left: 50%;
	transform: translateX(-50%);
	width: 280px;
	text-align: center;
	z-index: 10; /* 前面に表示 */
}
.plof-ab{
	position: absolute;
	bottom: 3.5%;
	left: 50%;
	transform: translateX(-50%);
	width: 300px;
}
/* お悩み後の動画 */
.pos-rel {
    position: relative;
    width: 100%;
}

.mov-ab {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
	padding: 0 16px;
}
.mt-24{
	margin-top: 24px;
}
.mb-32{
	margin-bottom: 32px;
}
.video-container {
	background: #fbf8f6;
    position: relative;
    width: 100%;
/*     height: 100%; */
    cursor: pointer;
}

.responsive-video {
    width: 90%;
	margin: 0 auto;
	padding: 16px 0;
/*     height: 100%; */
    object-fit: cover;
    display: block;
}

/* 音声オーバーレイ */
.sound-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease;
    z-index: 10;
    pointer-events: none;
}

/* 音声オン後は非表示 */
.video-container.sound-on .sound-overlay {
    opacity: 0;
}

/* 音声ボタン */
.sound-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: transform 0.3s ease;
    margin-bottom: 10px;
    pointer-events: auto;
    animation: pulse 2s infinite;
}

.sound-button:hover {
    transform: scale(1.1);
	background: transparent;
}

.sound-button svg {
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.3));
}

/* 音声オン後はミュート線を非表示 */
.video-container.sound-on .mute-line {
    display: none;
}

/* テキスト */
.sound-text {
    color: white;
    font-size: 14px;
    font-weight: bold;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
    margin: 0;
    background: rgba(0, 0, 0, 0);
    padding: 8px 16px;
    border-radius: 20px;
    pointer-events: auto;
}

/* パルスアニメーション */
@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .sound-button svg {
        width: 50px;
        height: 50px;
    }
    
    .sound-text {
        font-size: 12px;
        padding: 6px 12px;
    }
}

/* 募集要項 */
table, td , th{
	border: none;
}
.inner{
/* 	background: #fbf8f6; */
	padding-bottom: 1px;
}
#offer03 .offer_box h3{
	background: #34B7F1;
}
.offer_box{
	font-size: 2.4vw;
	font-weight: bold;
}
@media (min-width: 401px){
.offer_box{
	font-size: 9.6px;
}
}

.offer_box h3{
	background: #FB830D;
    text-align: center;
    color: #fff;
    font-weight: 700;
	font-size: 13.34px;
	border-radius: 50px;
	padding: 5.32px 16px;
	margin-bottom: 8px;
	margin-top: 16px;
}
.offer_top h4,
.offer_top h5{
	margin-bottom: 0;
}
.offer_box p{
	margin-bottom: 2.66vw;
}
.offer_box p:last-child {
    margin-bottom: 0;
}
.offer_top h4{
	font-size: 3vw;
}
@media (min-width: 401px){
.offer_top h4{
	font-size: 12px;
}
}
.offer_box h5 {
        font-size: 2.8vw;
}
@media (min-width: 401px){
.offer_box h5{
	font-size: 11.2px;
}
}

.offer_block{
	max-width: 333.33px;
	margin: 0 auto;
	
}
.offer_top table,
.offer_bottom table{
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
	margin-bottom: 0; 
}
.offer_box tr {
    background: #FEEDD6;
    border: solid 1px #000;
}
#offer03 .offer_box tr {
    background: #D6F1FC;
}

.offer_box tr:nth-child(even) {
    background: #FFFBF5;
}
#offer03 .offer_box tr:nth-child(even) {
    background: #F5FBFE;
}
.offer_box th {
	width: 15.33vw;
	padding: 2vw 0 2vw 2vw;
	text-align: left;
	font-size: 2.4vw;
    }
@media (min-width: 401px){
.offer_box th{
	width: 61.32px;
	padding: 8px 0 8px 8px;
	text-align: left;
	font-size: 9.5px;
}
}
.offer_box td {
	padding: 8px 5.32px;
    }
.offer_bottom {
    position: relative;
    top: -1px;
}
.offer_bottom {
  display: none;
}
.offer_close_btn {
  display: none;
}
.offer_btn.activ .offer_close_btn {
  display: block;
}
.offer_btn.activ .offer_open_btn {
  display: none;
}
.offer_btn {
    background: #FB830D;
    position: relative;
    top: -2px;
    border: solid 1px #000;
    text-align: center;
    color: #fff;
    font-size: 10.64px;
    font-weight: 500;
    padding: 8px;
    cursor: pointer;
    transition: all 0.2s 
ease-in-out 0s;
}
#offer03 .offer_btn {
    background: #34B7F1;
}

/* フォーム */
.application-form {
    max-width: 400px;
    margin: 20px 16px !important;
    background-color: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
}

.form-header {
    background: linear-gradient(135deg, #f5a623 0%, #f7b733 100%);
    padding: 25px 20px;
    text-align: center;
}


.application-form h2 {
    font-size: 18px;
    margin: 0;
    color: #ffffff;
    font-weight: 500;
    line-height: 1.4;
}

.form-content {
    padding: 25px 20px;
}

.form-group {
    margin-bottom: 30px;
    border-bottom: 1px dotted #ddd;
    padding-bottom: 25px;
}

.form-group:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}

.form-label-wrapper {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

.form-group label {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin-right: 8px;
}

.required-badge {
    background-color: #f5a623;
    color: white;
    font-size: 10px;
    padding: 3px 7px;
    border-radius: 3px;
    font-weight: 500;
}

.optional-badge {
    background-color: #999;
    color: white;
    font-size: 10px;
    padding: 3px 7px;
    border-radius: 3px;
    font-weight: 500;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="date"],
.form-group input[type="tel"],
.form-group select {
    width: 100%;
    padding: 11px 13px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    background-color: #fff;
    font-family: inherit;
}

.form-group input::placeholder {
    color: #999;
}

.form-group input:focus,
.form-group select:focus {
    outline: none;
    border-color: #f5a623;
}

.form-group select {
    cursor: pointer;
    appearance: none;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6 6L11 1" stroke="%23666" stroke-width="2" stroke-linecap="round"/></svg>');
    background-repeat: no-repeat;
    background-position: right 13px center;
    padding-right: 35px;
}

.radio-group,
.checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.radio-group label,
.checkbox-group label {
    display: flex;
    align-items: center;
    font-weight: normal;
    cursor: pointer;
    font-size: 14px;
    color: #333;
}

.radio-group input[type="radio"],
.checkbox-group input[type="checkbox"] {
    margin-right: 8px;
    cursor: pointer;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    accent-color: #f5a623;
}

.form-note {
    font-size: 12px;
    color: #666;
    margin-top: 8px;
    margin-bottom: 12px;
    line-height: 1.6;
}

.submit-wrapper {
    text-align: center;
    margin-top: 30px;
    padding-top: 15px;
}

.submit-btn {
    background: linear-gradient(135deg, #f5a623 0%, #f7b733 100%);
    color: white;
    padding: 14px 50px;
    border: none;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(245, 166, 35, 0.3);
    width: 100%;
    max-width: 280px;
}

.submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(245, 166, 35, 0.4);
}

.submit-btn:active {
    transform: translateY(0);
}
#fixedBox {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    opacity: 0;
	transform: translateY(100%);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}
#fixedBox.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
#fixedBox figure {
    margin: 0;
    cursor: pointer;
}

#fixedBox img {
	max-width: 300px;
    width: 100%;
    height: auto;
    display: block;
	margin: 0 auto;
}
.cv-btn{
	max-width: 300px;
	width: 100%;
}
.bgc{
	background: #fbf8f6;
}
/* cvボタンエフェクト */
/* アニメーション効果を追加 */
.animated-button-link {
    position: relative;
    display: block;
    text-decoration: none;
    width: 100%;
    border-radius: 15px;
    overflow: hidden;
}
/* キラッと光るエフェクト */
.animated-button-link:before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn 1.7s ease-in-out infinite;
    z-index: 1;
}
@keyframes shiny-btn {
    0% {
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
        opacity: 0;
    }
    80% {
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
        opacity: 0.5;
    }
    81% {
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
        opacity: 1;
    }
    100% {
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}
.animated-button-link img{
    animation: fuwafuwa 2s linear infinite;
    border-radius: 15px;
    margin: 0;
	margin-top: 3px;
    scale: 1;
}
.animated-button-link img {
    border-radius: 15px;
    display: block;
    width: 100%;
    position: relative;
    z-index: 0;
}
/* 光るだけのボタン */
.shiny-button-link {
    position: relative;
    display: block;
    text-decoration: none;
    width: 100%;
    border-radius: 30px;
    overflow: hidden;
}
.shiny-button-link:before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn 1.7s ease-in-out infinite;
    z-index: 1;
}
@keyframes shiny-btn {
    0% {
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
        opacity: 0;
    }
    80% {
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
        opacity: 0.5;
    }
    81% {
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
        opacity: 1;
    }
    100% {
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}

.shiny-button-link img {
    border-radius: 15px;
    display: block;
    width: 100%;
    position: relative;
    z-index: 0;
}
/* 光るだけ終わり */

/* ふわふわアニメーション */
@keyframes fuwafuwa {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-3px);
    }
    100% {
        transform: translateY(0);
    }
}
/* 通常のふわふわ動くアニメーション（他の場所用） */
.animated-button-link .wp-block-image {
    animation: fuwafuwa 2s linear infinite;
    border-radius: 15px;
    scale: 1;
}
.animated-fuwafuwa  {
    animation: fuwafuwa 2s linear infinite;
    border-radius: 15px;
    scale: 1;
}
/* cvエフェクト終わり */


