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

/* gloval navi */

.c-gnav>.menu-item>a .ttl{
	font-weight:700;
}
/*toppage*/

 .p-mainVisual__slideTitle {
        font-weight:700;
    }

@media (min-width: 600px) {
    .p-mainVisual__slideTitle {
        font-size: 50px;
    }
	    .p-mainVisual__slideText {
        font-size: 20px;
    }
}

/* 装飾関係 */

.br-10 {
	border-radius:10px;
}

.br-50 {
	border-radius:50px;
} 

.page .post_content hr {
	border-bottom:1px solid var(--color_main);
}
/* アイコンの丸わく */
.icon_maru
{
	display: flex;
  align-items: center;
  justify-content: center;

  width: 100px;
  height: 100px;

  border-radius: 50%;
  border: 1px solid #e5e5e5;

  background-color: #fff;

  margin: 0 auto 20px!important;
}


/* 見出し */
.post_content .is-style-section_ttl small {
	font-size:.4em;
	opacity:1;
	padding-top:0;
}


/* footer */
.w-footer__box .c-listMenu a{
	border:none;
	 line-height: .6;
}


/*カスタム投稿タイプ　case_study*/
.case-item{
display:flex;
gap:30px;
margin-bottom:60px;
padding-bottom:40px;
border-bottom:1px solid #eee;
}

.case-thumb{
flex:0 0 300px;
}

.case-thumb img{
width:100%;
height:auto;
display:block;
}

.case-body{
flex:1;
}

.case-tax{
margin:10px 0;
}

.case-term{
    display: inline-block;
    margin-right: 8px;
    font-size: 12px;
    background: var(--color_main);
    padding: 4px 10px;
    border-radius: 3px;
    color: #FFF;
}

.case-content {
	font-size:0.9em;
}

h2.case-title {
	background:none!important;
	margin-bottom:1em;
	color: var(--color_main);
}


.page-numbers {margin-top:0px;margin-bottom:0px;}

@media (max-width:768px){
.case-item{
flex-direction:column;
gap:15px;
}

.case-thumb{
flex:unset;
width:100%;
}

.case-thumb img{
width:100%;
height:auto;
}

.case-body{
width:100%;
}
	
.case-thumb{
max-width:100%;
}

.case-title{
font-size:18px;
}

.case-item{
margin-bottom:40px;
padding-bottom:30px;
}
.case-thumb img{
aspect-ratio:4/3;
object-fit:cover;
}
}

/* TOPPAGE */


/* 共通 */


/* =========================
カード全体
========================= */

.link-card{
  border-radius:12px;
  border:1px solid #eee;
  background:#fff;
  transition:all .3s ease;
  cursor:pointer;
  padding:0 0 1em 0!important;
  position:relative;
  overflow:hidden;
}

/* hover */
.link-card:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 28px rgba(0,0,0,0.08);
  border-color:#e5e5e5;
}


/* =========================
画像
========================= */

.link-card img{
  border-radius:12px 12px 0 0;
  transition:transform .5s ease;
  display:block;
}

/* hover時ズーム */
.link-card:hover img{
  transform:scale(1.06);
}


/* =========================
タイトル
========================= */

.link-card h4{
  font-size:1em;
  color:var(--color_deep02)!important;
  margin:0;
  min-height:2.8em;

  display:flex;
  align-items:center;
  justify-content:center;

  text-align:center;
  padding:.8em .8em 0 .8em;
}


/* =========================
説明文
========================= */

.link-card p{
  margin:.6em .8em 0 .8em;
  font-size:.9em;
  color:#666;
}


/* =========================
矢印
========================= */

.service .link-card .swl-inline-icon{
  position:absolute;
  right:12px;
  bottom:12px;
  opacity:.5;
  transition:.2s;
}

.link-card:hover .swl-inline-icon{
  transform:translateX(4px);
  opacity:1;
}


/* =========================
カテゴリバッジ
========================= */

p.service-cat{
  position:absolute;
  top:12px;
  left:12px;
	margin:0;

  font-size:11px;
  padding:5px 12px;
  border-radius:30px;

  font-weight:600;
  letter-spacing:.05em;

  background:#ffffffee;
color: var(--color_main);

  backdrop-filter:blur(4px);
  box-shadow:0 4px 10px rgba(0,0,0,.08);
}


@media (max-width:768px){

.service-cat{
  top:8px;
  left:8px;
  font-size:10px;
  padding:3px 8px;
}

}




/* コンテンツヘッダー */
.l-topTitleArea {
	text-align:center;
}
.c-pageTitle small {
    display: block;
    font-style: normal;
    opacity: 1;
    font-size: 13px !important;
    margin-top: 1em;
}

.c-pageTitle {
	font-size:2em;
}
@media (min-width: 600px) {
	.l-topTitleArea {
 	min-height:400px!important;	
	}
	.c-pageTitle {
        font-size: 2.5em;
    }
	.c-pageTitle small {
		font-size:15px!important;	
	}
}


/* ギャラリーのスライダー化 */

.gallery-swiper {
  width: 100%;
}

.gallery-swiper .swiper-slide {
  height: auto;
}

.gallery-swiper figure,
.gallery-swiper .wp-block-image {
  margin: 0;
}

.gallery-swiper img {
  display: block;
  width: 100%;
  height: auto;
}

/* ヘッダー内部ボタン */
/* ボタンのテキストを改行させない */
.w-header .swell-block-button__link {
    white-space: nowrap;
}

/* ボタン全体の最小幅を確保 */
.w-header .swell-block-button {
    min-width: max-content;
}

/* ヘッダー内のアイテムが縮小されないようにする */
.w-header__item {
    flex-shrink: 0;
}

/* お問い合わせ */
form#form2312 {
    margin: 40px auto;
    color: #000;
}

/* ラベル */
form#form2312 label {
    display: block;
    margin-bottom: 5px;
	font-weight:700;
}

/* 入力共通 */
form#form2312 input,
form#form2312 textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    font-weight: 400;
    border: 1px solid #ccc;
    border-radius: 5px;
}

/* ← ここ重要：チェックボックスは幅リセット */
form#form2312 input[type="checkbox"] {
    width: auto;
    padding: 0;
    margin: 0 6px 10px 0;
    display: inline-block;
}

/* 2カラム */
.half_form {
    display: flex;
    gap: 10px;
}

.half_form div {
    width: 50%;
}

/* ===== チェックボックス調整（ここがメイン） ===== */



/* チェックボックスのテキスト間隔 */
form#form2312 input[type="checkbox"] {
    margin-right: 15px;
	margin-left:15px;
}

/* 行っぽく見せる */
form#form2312 {
    line-height: 2;
}

/* ===== textarea ===== */
form#form2312 textarea {
    height: 120px;
    resize: vertical;
}

/* ===== ボタン ===== */
form#form2312 input[type="submit"] {
    background:var(--color_main);
    color: #fff;
    border: none;
    font-weight: bold;
    cursor: pointer;
	box-shadow: var(--swl-btn_shadow);
    border-radius: 4px;
    display: inline-block;
    letter-spacing: var(--swl-letter_spacing, 1px);
    line-height: 1.5;
    margin: 0;
    min-width: 25%;
    padding: .75em 1.5em;
    position: relative;
    text-decoration: none;
    width: auto;
}

form#form2312 input[type="submit"]:hover {
   box-shadow: 0 4px 12px rgba(0, 0, 0, .1), 0 12px 24px -12px rgba(0, 0, 0, .2);
}

/* ===== スマホ ===== */
@media (max-width: 600px) {
    .half_form {
        flex-direction: column;
    }

    .half_form div {
        width: 100%;
    }
	form#form2312 input[type="submit"] {
		width:100%;
	}
}


/* 事例ボックス */

.jirei-sec .wp-block-column {
    position: relative;
}

.jirei-sec .jirei-cat {
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    color: #fff;
    padding: 6px 12px;
    font-size: 12px;
    line-height: 1;
    border-radius: 0;
}

/* =========================
   全体フォーム共通
========================= */
.wpcf7-form {
  max-width: 900px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.6;
	  background: #fff;
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}



.wpcf7-form p {
  margin: 0 0 20px;
}

/* ラベル */
.wpcf7-form label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
}

/* 入力系統すべて統一 */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 15px;
  box-sizing: border-box;

  background: #fff; /* ←ここ重要 */
  box-shadow: 0 1px 2px rgba(0,0,0,0.04); /* ちょい浮かせる */
  transition: 0.2s;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  border-color: #57b957;
  outline: none;
}

/* =========================
   氏名（横並び）
========================= */
.from_name {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.from_name .item-box {
  flex: 1;
  min-width: 200px;
}

/* =========================
   ラジオボタン
========================= */
.form-radio .wpcf7-radio {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.wpcf7-list-item {
  margin: 0;
}

.wpcf7-list-item label {
  font-weight: 400;
  cursor: pointer;
}

.wpcf7-list-item input {
  margin-right: 6px;
}

/* =========================
   送信ボタン
========================= */
.wpcf7-submit {
  background: #57b957;
  color: #fff;
  border: none;
  padding: 14px 30px;
  border-radius: 6px;
  font-weight: bold;
  cursor: pointer;
  transition: 0.2s;
}

.wpcf7-submit:hover {
  opacity: 0.85;
}

/* エラーメッセージ系 */
.wpcf7-not-valid-tip {
  font-size: 12px;
  color: #d63638;
  margin-top: 4px;
}

.wpcf7-response-output {
  margin-top: 20px;
}
/* 言語切替 全体 */
.lang-switch{
  display:flex;
  align-items:center;
  gap:10px;
	    justify-content: center;
}

/* リンク本体（超シンプル） */
.lang-switch .lang-btn{
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  color:#fff;              /* TOP FV上は白 */
  line-height:1;
  transition:opacity .25s ease,color .25s ease;
}

/* 区切り線 */
.lang-switch .lang-btn + .lang-btn{
  position:relative;
  padding-left:15px;
}

.lang-switch .lang-btn + .lang-btn:before{
  content:"|";
  position:absolute;
  left:0;
  top:0;
  opacity:.45;
}

/* hover */
.lang-switch .lang-btn:hover{
  opacity:.7;
}

/* 現在言語 */
.lang-switch .lang-btn.active{
  opacity:1;
}

/* ----------------------------
   白ヘッダー時（スクロール後 / 下層ページ）
   SWELL用
---------------------------- */
.lang-switch .lang-btn{
  color:#222;
  text-decoration:none;
  font-weight:700;
  font-size:12px;
}

#header.-transparent .lang-switch .lang-btn{
  color:#fff;
}

.lang-switch .lang-btn:hover{
  color:#2f9e44;
}
