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

:root {
	--color_main:#003051;
	--color_deep01:#447E98;
}


/* ================================================================================================================================ 
 * パーツ共通
 * ================================================================================================================================ */
/* タイトル ------------------------------------------------------------------*/
.s-title h2{
	font-weight:400;
	color:var(--color_deep01) !important;
}
.s-title p{
	color:var(--color_main);
}
@media(min-width:600px){
	.s-title h2{
	font-size:40px;
	}
	.s-title p{
		font-size:20px;
	}
}
/* リスト ------------------------------------------------------------------*/
/* カラー変更 */
.deep1-list.is-style-num_circle li:before{
	background-color: var(--color_deep01);
    box-shadow: 1px 1px 1px var(--color_deep01);
}

.deep1-list.is-style-check_list li:before{
	color:var(--color_deep01);
}

/* キャプションボックス------------------------------------------------------------------ */
/* 余白調整 */
.cap_box_content{
	padding: 1.25em 0.5em;
}

/* 段差のあるリッチカラム ------------------------------------------------------------------*/
.step-columns h3{
	color:var(--color_deep01) !important;
}

/* 連番カウンターを初期化 */
.num-badge .swell-block-columns__inner {
  counter-reset: card;
}

/* カード本体 */
.num-badge .swell-block-columns__inner > .swell-block-column {
  position: relative;            /* 擬似要素の基準にする */
  padding-top: 1rem;             /* 見出しに被る時は調整 */
}

/* バッジ本体（左上のオレンジ） */
.num-badge .swell-block-columns__inner > .swell-block-column::before {
  counter-increment: card;
  content: counter(card);        /* 下の「先頭0」ルールで 01〜09 に変換 */
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;

  display: inline-block;
  padding: .35rem .52rem .32rem .6rem;
  line-height: 1;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #fff;
  background:var(--color_deep04);           /* バッジ色（画像の雰囲気に合わせたオレンジ） */
  border-radius: 0 .35rem .35rem 0;
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
}

/* 折り返しの三角(下側の小さな三角形) */
.num-badge .swell-block-columns__inner > .swell-block-column::after {
  content: "";
  position: absolute;
  top: calc(0px + 1.65rem);  /* ::beforeの高さに合わせて微調整 */
  left: 0px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .5rem .5rem 0 0;   /* 右下に向いた三角 */
  border-color: #c17825 transparent transparent transparent; /* ちょい濃い影色 */
  z-index: 1;
}

/* 先頭ゼロを付ける（01〜09） */
.num-badge .swell-block-columns__inner > .swell-block-column::before {
  content: counter(card);
	font-size:18px;
}
.num-badge .swell-block-columns__inner > .swell-block-column:nth-child(-n+9)::before {
  content: "0" counter(card);
}
/* PCでは段差をつける */
@media (min-width: 961px){
  .step-columns .swell-block-columns__inner > .swell-block-column:nth-child(2){ transform: translateY(2rem); }
  .step-columns .swell-block-columns__inner > .swell-block-column:nth-child(3){ transform: translateY(4rem); }
  .step-columns .swell-block-columns__inner{ padding-bottom: 4rem; }
}

/* ================================================================================================================================ 
 * Header
 * ================================================================================================================================ */
.c-gnav>.menu-item>a .ttl {
    font-size: 16px;
    font-weight: 500;
	text-shadow: 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff;

}

/* ================================================================================================================================ 
 * Footer
 * ================================================================================================================================ */
div#content {
    margin-bottom:0;
}
div#before_footer_widget {
    margin-top:0;
}

.w-footer__box .swell-block-button{
	color:#fff;
}

/* ================================================================================================================================ 
 * TOP
 * ================================================================================================================================ */
/* MV ------------------------------------------------------------------*/
/* まずVIブロックをデフォルト非表示に */
.c-zh{ display: none; }

/* HTMLのlang属性がzhの時だけ、ZHを表示・JAを非表示 */
html[lang="zh-Hans"] .c-zh{ display: block; }
html[lang="zh-Hans"] .c-jp{ display: none; }


/*  コンセプト：縦書きのベース ------------------------------------------------------------------ */
.tategaki-section::before{
	content:"";
	background-image:url(/wp-content/uploads/2025/10/logo_mark.png);
	background-repeat:no-repeat;
	 background-size: contain;
	width:400px;
	height:400px;
	position:absolute;
	left:50%;
	top:50%;
	transform: translate(-50%, -50%);
	opacity:0.1;
}
@media(min-width:640px){
.tategaki-section .swell-block-fullWide__inner.l-container{
	align-items: center;
	justify-content:center;
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    max-width: 100%;
}
.tategaki{
	writing-mode: vertical-rl; 
	text-orientation: mixed;       
	letter-spacing: 0.5rem;
	height:450px;
}
.tategaki h2{
	font-size:32px;
	margin-left:3rem;
	font-weight:100;
}
.tategaki p{
	margin-left:1rem;
	margin-bottom:0;
	margin-top:3rem;
}
}


.top-features::after{
	content: "";
    width: 119%;
    height: 280px;
    position: absolute;
    top: 36%;
    left: -100px;
    background: -moz-linear-gradient(100deg, #003051 0%, #447E98 100%);
    background: -webkit-linear-gradient(100deg, #003051 0%, #447E98 100%);
    background: linear-gradient(100deg, #003051 0%, #447E98 100%);
	transform: skew(-25deg, 25deg);
}
/* ================================================================================================================================ 
 * お問い合わせ
 * ================================================================================================================================ */
.contact-form-pp{
	text-align:center;
}

/* ================================================================================================================================ 
 * 言語バー
 * ================================================================================================================================ */
.w-header__inner{
	display: flex;
    gap: 10px;
    align-items: center;
}
.widget_bogo_language_switcher .w-header__title {
  display: none;
}
span.bogo-language-name {
    padding: 5px;
}

.bogo-language-switcher {
  display: flex;
  gap:5px;
}
ul.bogo-language-switcher.list-view::after {
    content: "";
    margin-left: 2px;
    width: 1px;
    height: auto;
    background-color: var(--color_text);
    order: 2;
}
li.zh-CN.last {
    order: 3;
}
.bogoflags, .bogoflags-before:before{
	margin:0 !important;
	width:15px;
}
/* PCのみコンテンツを強制表示 */
@media(max-width:960px){
	.w-header.pc_{
		display:block !important;
	}
	.l-header__customBtn.sp_{
		display:none;
	}
	.w-header.pc_ #custom_html-7{
		display:none;
	}
	.w-header.pc_ #custom_html-5{
		display:none;
	}
}