@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
*/

/* common */
/* 追従ヘッダー内のロゴを強制的に logo2.webp に差し替える */
#fix_header .c-headLogo__img,
#fix_header .c-headLogo__img {
    visibility: hidden; /* 元の画像（logo_white.webp）を見えなくする */
}

#fix_header .c-headLogo__link,
#fix_header .c-headLogo__link {
    display: inline-block;
    position: relative;
    /* 本来のロゴの横幅と縦幅（アスペクト比）に合わせて調整してください */
    width: 200px; 
    height: 60px; 
}
#fix_header .c-headLogo__link::after,
#fix_header .c-headLogo__link::after {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    width: 130%;
    height: 100%;
    /* ここで追従用の logo2.webp を背景として強制表示 */
    background-image: url(images/logo2.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    visibility: visible; /* 背景画像だけを表示させる */
}
.home ul.c-gnav li a span.ttl { line-height:1.4; }
.home #header ul.c-gnav li.menu-item-262 span.ttl {
	color:#0693ea;
	padding:30px 12px 12px 12px;
	font-weight: bold;
	line-height:1.2;
	border:1px solid #ccc;
	border-radius: 8px;
	background: url("images/mail.gif") no-repeat #fff top 10px center;
}
ul.c-gnav li a span.ttl { line-height:1.4; }
#header ul.c-gnav li.menu-item-262 span.ttl {
	color:#fff;
	padding:30px 12px 12px 12px;
	font-weight: bold;
	line-height:1.2;
	border:1px solid #043e66;
	border-radius: 8px;
	background: url("images/mail.png") no-repeat #043e66 top 10px center;
}
.c-gnav>.menu-item>a .ttl {
	padding:0 10px;
	font-weight:bold;
}
#header ul.c-gnav li.menu-item-262 a:after {
	background: none;
}
.home #header ul.c-gnav li.menu-item-262 span.ttl:hover {
	background: url("images/mail.gif") no-repeat #efefef top 10px center;
}
#header ul.c-gnav li.menu-item-262 span.ttl:hover {
	background: url("images/mail.png") no-repeat #0e577f top 10px center;
}

/* HOME */
.home .l-header {
	background: none;
	box-shadow: none;
}
.l-header__bar{
	background: none;
}
.home .top_slide {
	z-index:0;
	margin-top:-290px !important;
	padding:200px 0;
}
.home .top_catch {
	z-index:1;
	margin-top:-700px !important;
	padding-bottom: 300px !important;
}
.home .l-header__inner {
	color:#fff;
}
.home .c-gnav a::after {
	background: #fff;
}
.home .metaslider .slides img {
	object-fit: cover;
	height:920px;
}


/* page */
.page .p-articleThumb {
	width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
}
.page .p-articleThumb img {
	object-fit: cover;
	height:260px;
}
.page .l-content {
	padding-top:0;
}
.page h1.c-pageTitle {
    text-align: center !important;
    margin: 0 auto;
    margin-bottom: -195px !important;
    z-index: 9999;
    border: none;
	padding-top: 75px;
	color:#fff;
	font-size:42px;
}
.page h1.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
	float: none;
	border: none;
}
.page .c-pageTitle__inner {
    display: flex;
    flex-direction: column;
}
.page .c-pageTitle__subTitle {
	margin-left: 0;
	font-style: normal;
	font-size: 28px;
	font-weight: normal;
}
.page h1.c-pageTitle span { float:none; }

.l-mainContent__inner>.post_content {
	margin-top:4em;
}
.post_content h4 { font-size:1.5em; }
.post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	border-left:solid 4px;
	padding: 4px 0 4px 16px;
}

/* お問い合わせ */
/* フォーム全体のテーブル設定 */
.form-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
	background-color: #fff;
	border:none;
}

.form-table tr {
    border-bottom: none;
}

/* 左側の項目名 */
.form-table th {
    width: 20%;
    text-align: left;
    vertical-align: top; /* 上揃えにしてすっきり見せる */
    padding: 15px 10px;
    font-weight: bold;
    font-size: 15px;
	background-color: #fff;
	border:none;
}

/* 右側の入力エリア */
.form-table td {
    width: 80%;
    padding: 12px 10px;
    vertical-align: middle;
	background-color: #fff;
	border:none;
}

/* 一行入力ボックス・テキストエリアの基本設定 */
.form-table td input[type="text"],
.form-table td input[type="email"],
.form-table td input[type="tel"],
.form-table td textarea {
    width: 100%;
    max-width: 550px;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
}

/* 「応募したきっかけ」のテキストエリアの高さ */
.form-table td textarea {
    height: 180px;
}

/* ラジオボタン（性別）の間隔調整 */
.form-table .wpcf7-radio .wpcf7-list-item {
    margin-left: 0;
    margin-right: 20px;
}

/* ーーー 住所入力エリアの調整 ーーー */
.address-group {
    display: flex;
    flex-direction: column;
    gap: 12px; /* 項目ごとのすき間 */
}
.address-row {
    display: flex;
    align-items: middle;
}
.address-label {
	display: inline-block;
    width: 140px; /* 「郵便番号」などの文字幅を揃える */
    flex-shrink: 0;
    font-weight: bold;
    font-size: 14px;
	padding-right: 10px;
}
.address-row input {
    max-width: 350px !important; /* 住所内のボックスは少し短めに */
}

/* 必須マーク（●） */
.required-mark {
    color: #ff0000;
    margin-left: 5px;
    font-size: 0.9em;
}

/* ーーー 同意エリア・ボタンの調整 ーーー */
.form-agreement {
    margin: 40px auto 10px;
    max-width: 100%x;
    text-align: left;
}
.agreement-check {
    font-weight: bold;
    margin-bottom: 0;
}
.agreement-text {
    font-size: 13px;
    line-height: 1.6;
    color: #333;
}

/* ボタンを3つ横並びにする */
.form-buttons p {
    display: flex;
    justify-content: flex-start;
    gap: 15px;
    margin-top: 30px;
}
.form-buttons input[type="submit"],
.form-buttons input[type="button"] {
    background-color: #e0e0e0; /* 画像のような薄いグレー */
    color: #333;
    border: none;
    padding: 12px 30px;
    font-weight: bold;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}
.form-buttons input[type="submit"]:hover {
    background-color: #d0d0d0;
}

/* 投稿 */
.u-obf-cover{
	display: none;
}
.l-topTitleArea {
	background-color:#043e66;
}

@media screen and (max-width: 1400px) {
/*	.home .metaslider .slides img {	height:800px; }*/
}
@media screen and (max-width: 1200px) {
/*	.home .metaslider .slides img {	height:700px; }*/
}
@media screen and (max-width: 1000px) {
/*	.home .metaslider .slides img {	height:700px; }*/
}
@media screen and (max-width: 768px) {
/*	.home .metaslider .slides img {	height:500px; }*/
	.c-headLogo { height:70px !important; }
/*	.l-header[data-spfix="1"] { background-color: rgba(255, 255, 255, 0.9); }*/
	.post_content h4 { font-size:1.5em !important; }
	.h-midashi01 { font-size:1.8em !important; }
	.h-midashi02 { font-size:1.6em !important; }
	.h-midashi02 br { display: none; }
	.h-midashi03 { font-size:1.2em !important; }
	.h-midashi03 br { display: none; }
	.page .c-pageTitle__subTitle { font-size:1.0em; }
	.post_content hr { border:none !important; }
	.l-mainContent__inner>.post_content {
		margin-top:2em;
	}
	.sp-py-40 { padding-bottom:1em !important; }

	.page h1.c-pageTitle {
		font-size:1.6em;
		padding-top: 50px;
		margin-bottom: -175px !important;
	}
	.page .p-articleThumb img { height:210px; }

/* ーーースマホ用の表示切り替えーーー */
    .form-table th, 
    .form-table td {
        display: block;
        width: 100%;
        padding: 8px 0;
    }
    .form-table th {
        padding-top: 15px;
    }
    .address-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    .address-label {
        width: 100%;
    }
    .form-buttons {
        flex-direction: column; /* スマホではボタンを縦並びに */
        gap: 10px;
    }
    .form-buttons input[type="submit"] {
        width: 100%;
    }
}
}
@media screen and (max-width: 600px) {
	
}
@media screen and (max-width: 480px) {
	.home .metaslider .slides img {
		height:1000px;
	}
}