@charset "UTF-8";
/* CSS Document */

/***** 共通設定 *****/
/*----- タグ共通 -----*/
h2,h3,h4,h5,h6 {
	box-sizing: border-box;
}

/*----- 見出し -----*/
/* 青黄下線見出し (heading-underline-by) */
.heading-underline-by {
	box-sizing: border-box;
	padding: 0 !important;
	position: relative;
	border-bottom: solid #210063;
}
.heading-underline-by:after {
	position: absolute;
	content: '';
	display: block;
	width: 15%;
	bottom: -3px;
	left: 0;
	border-bottom: solid 3px #210063;
}

/* バイオレットレッド下線見出し (heading-underline-vr) */
.heading-underline-vr {
	box-sizing: border-box;
	padding: 0 !important;
	border-bottom: solid #b02976;
}

/* 青縦線グレーバック見出し (heading-vline-b) */
.heading-vline-b {
	box-sizing: border-box;
	padding: 0 .5em !important;
	border-left: 5px solid #043c78; 
	background: #f4f4f4;
}

/* 上下青線見出し (heading-tbline-b) */
.heading-tbline-b {
	box-sizing: border-box;
	padding: .5em !important;
	border-top: 3px solid #043c78; 
	border-bottom: 3px solid #043c78; 
	line-height: 1.5em;
}

/* 背景色見出し (heading-backcolor) */
.heading-backcolor {
	box-sizing: border-box;
	padding: .5em !important;
	background: #f4f4f4;
}

/* 角丸青二重線囲み見出し (heading-dlinerbox-b) */
.heading-dlinerbox-b {
	box-sizing: border-box;
	padding: .5em !important;
	border: 4px double #043c78;
	border-radius: 15px;
	text-align: center;
}

/* 青カッコ見出し (heading-bracket-b) */
.heading-bracket-b {
	box-sizing: border-box;
	position: relative;
	padding: 1.5em 1em;
	text-align: center;
}
.heading-bracket-b:before,
.heading-bracket-b:after {
  position: absolute;
  content: '';
}
.heading-bracket-b:after {
  top: 0;
  left: 0;
  width: 1.5em;
  height: 1.5em;
  border-top: 3px solid #210063;
  border-left: 3px solid #210063;
}
.heading-bracket-b:before {
  right: 0;
  bottom: 0;
  width: 1.5em;
  height: 1.5em;
  border-right: 3px solid #210063;
  border-bottom: 3px solid #210063;
}

/* 青四角見出し (heading-fa-square-b) */
.heading-fa-square-b {
	box-sizing: border-box;
	padding: 0 !important;
}
.heading-fa-square-b:before{
	color: #210063;
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	content: '\f0c8';
	margin-right: 10px;
}

/* 青矢印見出し (heading-fa-arrow-b) */
.heading-fa-arrow-b {
	box-sizing: border-box;
	padding: 0 !important;
}
.heading-fa-arrow-b:before{
	color: #210063;
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	content: '\f105';
	margin-right: 10px;
}

/* オレンジ吹き出し見出し (heading-balloon-or) */
.heading-balloon-or {
	box-sizing: border-box;
	position: relative;
	padding: 1rem 1.5rem !important;
	border-radius: 10px;
	background: #ffe9a9;
}
.heading-balloon-or:after {
  position: absolute;
  bottom: -14px;
	left: 1.5em;
  width: 0;
  height: 0;
  content: '';
  border-width: 15px 15px 0 15px;
  border-style: solid;
  border-color: #ffe9a9 transparent transparent transparent;
}

/*----- イメージ -----*/
/* バナーリンクイメージ */
.image-banner-link img{
	display      : inline-block;
  box-shadow   : 5px 5px 10px #666666;
  cursor       : pointer;
  transition   : .3s;
}
.image-banner-link img:hover {
  box-shadow   : none;
}

/*----- ボタン (リンク) -----*/
/* 矢印アイコンリンクボタン */
.button-arrowicon-box a {
	padding:10px 10px;
	text-align : center ;
	line-height: 1;
	background: #fff;
	border: 2px solid #043c78;
	color: #043c78;
	border-radius: 200px;
	cursor: pointer;
}
.button-arrowicon-box a:before{
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	content: '\f35a';
	margin-right: 5px;
}
.button-arrowicon-box a:visited {
	color: #043c78;
}
.button-arrowicon-box a:hover {
	color: #fff;
	border: 2px solid #f58600;
	background: #FF8C00;
}

/* メールアイコンリンクボタン */
.button-mailicon-box a{
	padding: 5px 30px;
	line-height: 1;
	background: #0075c2;
	border: 2px solid #36c;
	color: #fff;
	border-radius: 5px;
	cursor: pointer;
}
.button-mailicon-box a:before {
	font-family: "Font Awesome 5 Free"; 
	font-weight: 600;
	content: '\f2b6';
	margin-right: 10px;	
}
.button-mailicon-box a:hover {
	color: #fff;
	border: 2px solid #f58600;
	background: #FF8C00;
}


/* PDFアイコンリンクボタン */
.button-pdficon-box a{
	padding: 5px 30px;
	line-height: 1;
	background: #0075c2;
	border: 2px solid #36c;
	color: #fff;
	border-radius: 5px;
	cursor: pointer;
}
.button-pdficon-box a:before {
	font-family: "Font Awesome 5 Free"; 
	font-weight: 600;
	content: '\f1c1';
	margin-right: 10px;	
}
.button-pdficon-box a:hover {
	color: #fff;
	border: 2px solid #f58600;
	background: #FF8C00;
}

/* Downloadアイコンリンクボタン */
.button-downloadicon-box a{
	padding: 5px 30px;
	line-height: 1;
	background: #0075c2;
	border: 2px solid #36c;
	color: #fff;
	border-radius: 5px;
	cursor: pointer;
}
.button-downloadicon-box a:before {
	font-family: "Font Awesome 5 Free"; 
	font-weight: 600;
	content: '\f019';
	margin-right: 10px;	
}
.button-downloadicon-box a:hover {
	color: #fff;
	border: 2px solid #f58600;
	background: #FF8C00;
}


/*----- リスト -----*/
/* 青四角リスト (list-fa-square-b) */
ul.list-fa-square-b {
	margin: 0;
	padding: 0 20px;
}
ul.list-fa-square-b li {
	list-style-type: none !important;
	margin-left: 1.4em;
	text-indent: -1.4em;
}
ul.list-fa-square-b li::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f0c8";
	color: #210063;
	padding: 0 5px;
}
ul.list-fa-square-b li ul {
margin: 0 0 0 1.5em;
padding: 0;
}

/* マークなしリスト (list-none-marker) */
ul.list-none-marker {
	margin: 0;
	padding: 0 20px;
}
ul.list-none-marker li {
	list-style-type: none !important;
}
ul.list-none-marker li ul {
margin: 0 0 0 1.5em;
padding: 0;
}

/*----- テーブル -----*/
/* ヘッダー青テーブル */
.table-header-b table th {
    width: 20%;
    text-align: center;
    background-color: #210063;
    color: #FFF;
    font-weight: bold;
    border-bottom: #FFF 1px solid;
}

/*----- ブロック -----*/
/* 縦青太線影付きブロック */
.block-thickvline-b {
	box-sizing: border-box;
	border-left: 25px solid #210063;
	box-shadow:5px 5px 10px #c8c8c8;
}

.block-thickvline-blank {
	box-sizing: border-box;
	border-left: 25px solid transparent;
	box-shadow:5px 5px 10px transparent;
}

/* 影付きブロック */
.block-shadow {
	box-sizing: border-box;
	border-top: solid 1px #c8c8c8;
	border-left: solid 1px #c8c8c8;
	box-shadow:5px 5px 10px #c8c8c8;
}

/* 緑枠線付きブロック */
.block-border-g {
	border: solid 3px #99CC33;
}

/* グレー枠線付きブロック */
.block-border-gr {
	border: solid 2px #c0c0c0;
}

/* オレンジ背景内破線ブロック */
.block-bgdashline-or {
    padding: 0.2em 0.5em;
    background: #fff8e8;
    box-shadow: 0px 0px 0px 10px #fff8e8;
    border: dashed 2px #ffc06e;
    border-radius: 5px;
}

/*----- カラムブロック -----*/
/* ノーマルカラムブロック (normal-block-column) */
.normal-block-column {
	align-items: stretch;
	margin-bottom: 0;
}
.normal-block-column .wp-block-column {
	display: flex;
	flex-direction: column;
	align-self: auto;
	padding: 1rem;
	margin: .5em 0 0;
}
.normal-block-column .wp-block-column:not(:first-child) {
    margin-left: .5em;
}
.normal-block-column .wp-block-buttons {
	margin-top: auto;
}
@media (max-width: 781px) {
.normal-block-column .wp-block-column  {
    flex-grow: 1;
}
.normal-block-column .wp-block-column:not(:first-child)  {
    margin-left: 0;
}
}

/* Paddingなしカラムブロック (narrowpadding-block-column) */
.narrowpadding-block-column {
	align-items: stretch;
	margin-bottom: 0;
}
.narrowpadding-block-column .wp-block-column {
	display: flex;
	flex-direction: column;
	align-self: auto;
	padding: .5rem;
	margin: .5em 0 0;
}
.narrowpadding-block-column .wp-block-column:not(:first-child) {
    margin-left: .5em;
}
.narrowpadding-block-column .wp-block-buttons {
	margin-top: auto;
}
@media (max-width: 781px) {
.narrowpadding-block-column .wp-block-column  {
    flex-grow: 1;
}
.narrowpadding-block-column .wp-block-column:not(:first-child)  {
    margin-left: 0;
}
}

/* GAPなしカラムブロック (nogap-block-column) */
.nogap-block-column {
	align-items: stretch;
	margin-bottom: 0;
}
.nogap-block-column .wp-block-column {
	display: flex;
	flex-direction: column;
	align-self: auto;
	padding: 0;
	margin: 0;
}
.nogap-block-column .wp-block-buttons {
	margin-top: auto;
}
@media (max-width: 781px) {
.nogap-block-column .wp-block-column  {
    flex-grow: 1;
}
}

@media (max-width: 781px) {
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:nth-child(2n) {
    margin-left:0;
}
.wp-block-column  {
    flex-grow: 1 !important;
}
}


/*下余白0 (class:margin-bottom0) */
.margin-bottom0 {
	margin-bottom: 0 !important;
}

/*上余白0 (Class:margin-top0) */
.margin-top0 {
	margin-top: 0 !important;
}

/***** 個別設定 *****/
/*--- 会社情報 ---*/
/* 会社概要 */
.company-gaiyou-table th {
	border: solid 1px #c0c0c0 !important;
}
.company-gaiyou-table td {
	border: solid 1px #c0c0c0;
}
/* 会社沿革 */
.company-enkaku-table th {
	border: solid 1px #c0c0c0 !important;
}
.company-enkaku-table td {
	border: solid 1px #c0c0c0;
}

/* Googleマップ表示 */
.gmap-responsivedesign {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}
.gmap-responsivedesign iframe{
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

/***** 採用ページタイトル パターン01 *****/
.recruit-pagetitle-01{
position:relative;
height:173px;
background-image:url(../images/recruit-title-cover-01.webp);
background-position:center top;
background-repeat:no-repeat;
background-size:cover;
margin-right:-10px;
margin-left:-10px;
padding-right:0;
padding-left:0;
border-color:#e4e4e4;
border-width:0 1px 1px;
text-align:center;
}

.recruit-pagetitle-01:before{
content:'';
display:inline-block;
vertical-align:middle;
height:100%;
font-size:0;
}

.recruit-pagetitle-01 h1{
box-sizing:border-box;
margin:0.625rem 0 0 -0.4em;
padding:0.20px;
display:inline-block;
vertical-align: middle;
width:96%;
}

@media only screen and (min-width: 641px) {
.recruit-pagetitle-01{height:173px;}
.recruit-pagetitle-01 h1{font-size: 2.5rem;line-height:1.075;}
}

/* 両脇黒線見出し (heading-sideline-bk) */
.heading-sideline-bk{display:flex;align-items:center;}
.heading-sideline-bk:before,.heading-sideline-bk:after{content:'';height:1px;flex-grow:1;background-color:#666;}
.heading-sideline-bk:before{margin-right:1rem;}
.heading-sideline-bk:after{margin-left:1rem;}

/* 四角影付きリンクボタン */
.button-rectangle-shadow-gr a{background:#eee;position:relative;display:flex;justify-content:center;align-items:center;margin:0 auto;padding:15px 25px;color: #313131;transition:0.3s ease-in-out;box-shadow: 5px 5px 0 #38f597;}
.button-rectangle-shadow-gr a:visited{color: #313131;}
.button-rectangle-shadow-gr a:hover{background-color:#38f597;color:#FFF;box-shadow:0 0 0;}

/* テキスト右矢印付き四角リンクボタン */
.button-rectangle-rightarrow-gr a{background:#eee;position:relative;display:flex;justify-content:space-around;align-items:center;margin: 0 auto;padding:25px 40px;color:#313131;transition:0.3s ease-in-out;}
.button-rectangle-rightarrow-gr a:after{content:'';position:absolute;top:50%;bottom:0;right:2rem;font-size:90%;display:flex;justify-content:center;align-items:center;transition:right 0.3s;width:6px;height:6px;border-top:solid 2px currentColor;border-right:solid 2px currentColor;transform:translateY(-50%) rotate(45deg);}
.button-rectangle-rightarrow-gr a:visited{color: #313131;}
.button-rectangle-rightarrow-gr a:hover {background:#6bb6ff;color:#FFF;}
.button-rectangle-rightarrow-gr a:hover:after{right:1.4rem;}

hr.solid1px{border-top:1px solid;border-bottom:0;}


/*===== keisetsu Default CSS Neo =====*/


details.qa-summary-details summary{
list-style:none;
cursor:pointer;
padding:1rem 1.5rem;
outline:0;
display:block;
color:#c30d23;
background:#fff;
font-size:clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
}
details.qa-summary-details summary:hover{
background:#eee;
}
details.qa-summary-details summary::-webkit-details-marker{
display:none;
}
details.qa-summary-details {
background:#fafafa;
border:1px solid #eee;
border-radius:5px;
}
details.qa-summary-details summary::before{
color:#210063;
font-family:"Font Awesome 5 Free";
font-weight:900;
content:'\f059';
margin-right:5px;
font-size:clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
}
details.qa-summary-details summary::after{
content:"＋";
font-weight:400;
float:right;
width:1rem;
text-align:center;
justify-content:center;
align-items:center;
}
details[open].qa-summary-details summary::after{
content:"−";
}
details.qa-summary-details p{
padding:0.5rem 1.5rem 0.5rem 1.5rem;
}
details.qa-summary-details p::before{
color:#210063;
font-family:"Font Awesome 5 Free";
font-weight:900;
content:'\f05a';
margin-right:5px;
font-size:clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
}

/* 見出し */
.headline-simplebox{padding:0;border-bottom:1px solid #aaa;;border-left:1px solid #aaa;box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,0.2);}

/* keisetsuスタイルテーブル */
.keisetsustyle-table-colhead table{width:100%;border-collapse:collapse;border-spacing:0;border:0;}
.keisetsustyle-table-colhead th{border:solid 1px #8e8e88;color:#fff;background:#210063;}
.keisetsustyle-table-colhead td{border:solid 1px #8e8e88;}
@media screen and (max-width:640px) {
.keisetsustyle-table-colhead th,.keisetsustyle-table-colhead td{width:100%;float:left;border-bottom:0;}
.keisetsustyle-table-colhead td:last-child{border:solid 1px #8e8e88;}
}

/*----- ページ基本構成 -----*/
.inner-content{margin:auto;padding:0;width:1000px;}
@media screen and (max-width: 1100px){
.inner-content{margin:0 5%;width:90%;}
}

/*----- ページタイトル -----*/
.standard-pagetitle{
position:relative;
height:173px;
background-image:url(../images/standard-title-cover.webp);
background-position:center top;
background-repeat:no-repeat;
background-size:cover;
margin-right:-10px;
margin-left:-10px;
padding-right:0;
padding-left:0;
border-color:#e4e4e4;
border-width:0 1px 1px;
text-align:center;
}

.standard-pagetitle:before{
content:'';
display:inline-block;
vertical-align:middle;
height:100%;
font-size:0;
}

.standard-pagetitle h1{
box-sizing:border-box;
margin:0.625rem 0 0 -0.4em;
padding:0.20px;
display:inline-block;
vertical-align: middle;
width:96%;
}

@media only screen and (min-width: 641px) {
.standard-pagetitle{height:173px;}
.standard-pagetitle h1{font-size: 2.5rem;line-height:1.075;}
}

/* ========================================== 新keisetsu標準CSS =============================================== */
/* ----- WordPress align-wide（幅広/全幅）対応 ----- */
.alignfull{margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw);width:100vw;}
.alignfull img{width:100vw;}
.alignwide{margin-right:auto;margin-left:auto;width:100%;max-width:1000px;clear:both;}
.alignwide img{width:100%;}

/* ----- keisetsu標準テンプレート基本定義 ----- */
.standard-page p{font-size:16px;line-height:1.8em;}
.standard-page h1{font-size:clamp(1.5rem,1.364rem + 0.68vw,1.875rem);}
.standard-page h2{font-size:clamp(1.25rem,1.114rem + 0.68vw,1.625rem);}
.standard-page h3{font-size:clamp(1.125rem,1.034rem + 0.45vw,1.375rem);}
.standard-page h4{font-size:clamp(1.125rem,1.08rem + 0.23vw,1.25rem);}
.standard-page h5{font-size:clamp(1rem,0.955rem + 0.23vw,1.125rem);}
.standard-page h6{font-size:16px;}
.standard-page h1,.standard-page h2,.standard-page h3,.standard-page h4,.standard-page h5,.standard-page h6{line-height:1.3em;box-sizing:border-box;}
.standard-page p a:link{color:blue;}
.standard-page p a:visited{color:blue;}

/* ----- テキスト内改行(brタグ)制御 ----- */
.textbr-pc-only br{display:block;}
.textbr-pc-tablet br{display:block;}
.textbr-tablet-only br{display:none;}
.textbr-tablet-sp br{display:none;}
.textbr-sp-only br{display:none;}
/* タブレットサイズ（〜960px） */
@media screen and (max-width: 960px) {
.textbr-pc-only br{display:none;}
.textbr-tablet-only br{display:block;}
.textbr-tablet-sp br{display:block;}
}
/* モバイルサイズ (〜520px） */
@media screen and (max-width: 520px) {
.textbr-pc-tablet br{display:none;}
.textbr-tablet-only br{display:none;}
.textbr-sp-only br{display:block;}
}

/* 白影付き文字 */
.white-2px-text-shadow{text-shadow: 2px 0 3px #fff, -2px 0 3px #fff, 0 2px 3px #fff, 0 -2px 3px #fff;}
/* 黒影付き文字 */
.black-2px-text-shadow{text-shadow: 2px 0 3px #000, -2px 0 3px #000, 0 2px 3px #000, 0 -2px 3px #000;}
/* ブロック枠表示 */
.block-border-width1px{border-width:1px;border-style:solid;}
.block-border-width2px{border-width:2px;border-style:solid;}

/* ----- レイアウト用カラムブロック ----- */
.wp-block-columns.layout-block-columns{gap:1em;margin-bottom:1em;padding:0;align-items: stretch;}
.wp-block-columns.layout-nogap-block-columns{gap:0;margin-bottom:0;padding:0;align-items: stretch;}
.wp-block-columns.layout-norowgap-block-columns{gap:0 1em;margin-bottom:0;padding:0;align-items: stretch;}
.wp-block-columns.layout-nocolgap-block-columns{gap:1em 0;margin-bottom:1em;padding:0;align-items: stretch;}
.wp-block-columns.layout-block-columns .wp-block-column,.wp-block-columns.layout-nogap-block-columns .wp-block-column,.wp-block-columns.layout-norowgap-block-columns .wp-block-column,.wp-block-columns.layout-nocolgap-block-columns .wp-block-column{padding:0;}

.wp-block-columns.layout-block-columns.block-gap-2em{gap:2em;margin-bottom:2em;}
.wp-block-columns.layout-norowgap-block-columns.block-gap-2em{gap:0 2em;}
.wp-block-columns.layout-nocolgap-block-columns.block-gap-2em{gap:2em 0;margin-bottom:2em;}

/* ----- フレックスボックスカラムブロック ----- */
.wp-block-columns.layout-flex-block-columns .wp-block-column{display:flex;flex-direction: column;}

/* ----- ボックス全体リンク ボタンホバー有効化 ----- */
.keisetsu-enable-boxlink-hover:hover{filter: brightness(1.25);}
.keisetsu-enable-boxlink-hover:hover .keisetsu-button-rightarrow .wp-block-button a.wp-block-button__link{filter:saturate(150%);}
.keisetsu-enable-boxlink-hover:hover .keisetsu-button-rightarrow .wp-block-button a.wp-block-button__link:after{right:1em;}

/* ----- マージン調整 ----- */
.margin-top-auto{margin-top:auto;}

/* ----- 埋め込み(iframe)コンテンツ 中央表示 ----- */
.iframe-aligncenter iframe{display:block;margin:0 auto;}

/* ----- カバーブロックコンテンツ幅100% ----- */
.wp-block-cover.cover-block-content-width100.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container{width:100%;}

/* ----- ギャラリーブロック サムネイル高さ固定 ----- */
.wp-block-gallery.has-nested-images.keisetsu-photo-gallery figure.wp-block-image{height:200px;}

/* ----- keisetsu Infographic用カラムブロック ----- */
.keisetsu-infographic.wp-block-column{border:1px solid #ccc;border-radius:5px;}
.keisetsu-infographic p.infographic-data{margin:0;}
.keisetsu-infographic p.infographic-data span{font-size:0.65em;}
.keisetsu-infographic .wp-block-cover img.wp-block-cover__image-background{margin:auto;max-width:300px;}
.keisetsu-infographic .overlay-area{position: relative;width:100%;height:auto;}
.keisetsu-infographic .overlay-data{position: absolute;top:50%;left:50%;transform: translateY(-50%) translateX(-50%);width:100%;}

/* ----- 見出し（下ライン） ----- */
.keisetsu-headline-b1pxline{padding-bottom:0.2em;border-bottom:1px solid currentColor;}
/* ----- 見出し（上下ライン） ----- */
.keisetsu-headline-tb2pxline{padding-top:0.5em;padding-bottom:0.5em;border-top:2px solid currentColor;border-bottom:2px solid currentColor;}
/* ----- 見出し（印付き下ライン） ----- */
.keisetsu-headline-b2px-arrowline{position:relative;border-bottom:2px solid currentColor;}
.keisetsu-headline-b2px-arrowline:is(.has-text-align-center,.has-text-align-right):before{content:'';position:absolute;display:flex;bottom:4px;left:-2px;width:20px;border-top:solid 2px currentColor;transform:translateY(-50%) rotate(-45deg);}
.keisetsu-headline-b2px-arrowline:not(.has-text-align-right):after{content:'';position:absolute;display:flex;bottom:4px;right:-2px;width:20px;border-top:solid 2px currentColor;transform:translateY(-50%) rotate(45deg);}
/* ----- 見出し（中央ライン） ----- */
.keisetsu-headline-2px-line{display:flex;}
.keisetsu-headline-2px-line:is(.has-text-align-center,.has-text-align-right):before{content:'';flex-grow:1;height:2px;background:currentColor;min-width:20px;margin:auto;margin-right:20px;}
.keisetsu-headline-2px-line:not(.has-text-align-right):after{content:'';flex-grow:1;height:2px;background:currentColor;min-width:20px;margin:auto;margin-left:20px;}

/* ----- ボタン（右矢印付き） -----*/
.keisetsu-button-rightarrow .wp-block-button{position:relative;}
.keisetsu-button-rightarrow .wp-block-button a.wp-block-button__link:after{content:'';position:absolute;display:flex;top:50%;right:1.5em;width:10px;height:10px;transition:right 0.3s;border-top:solid 2px currentColor;border-right:solid 2px currentColor;transform:translateY(-50%) rotate(45deg);}
.keisetsu-button-rightarrow .wp-block-button a.wp-block-button__link:hover{filter:saturate(150%);}
.keisetsu-button-rightarrow .wp-block-button a.wp-block-button__link:hover:after{right:1em;}

/* ----- 固定セクションナビゲーション ----- */
/* セクションメニューボタン */
nav.keisetsu-fixed-section-navi{position:fixed;top:125px;left:10px;z-index:99999;}
nav.keisetsu-fixed-section-navi .wp-block-navigation__responsive-container-open{padding:15px 40px;}
/* メニュー表示エリア */
nav.keisetsu-fixed-section-navi .wp-block-navigation__responsive-container{top:125px;width:300px;padding:0;}
nav.keisetsu-fixed-section-navi .wp-block-navigation__responsive-close{gap:0;}
/* 閉じるボタン */
nav.keisetsu-fixed-section-navi .wp-block-navigation__responsive-container-close{position:sticky;width:100%;height:calc(2rem + 24px);background:rgba(150,150,150,0.5);z-index:10;}
nav.keisetsu-fixed-section-navi .wp-block-navigation__responsive-container-close svg{margin:auto;}
/* メニューエリア */
nav.keisetsu-fixed-section-navi .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:0;}
nav.keisetsu-fixed-section-navi ul.wp-block-navigation__container{width:100%;}
nav.keisetsu-fixed-section-navi li.wp-block-navigation-item{width:100%;}
nav.keisetsu-fixed-section-navi .wp-block-navigation-item__content{width:100%;line-height:calc(2rem + 24px);border-bottom:1px solid currentColor;}
nav.keisetsu-fixed-section-navi .wp-block-navigation-item__label{padding:0 3rem 0 1rem;}
/* サブメニュー開閉 */
nav.keisetsu-fixed-section-navi .wp-block-navigation-submenu__toggle[aria-expanded=false]~.wp-block-navigation__submenu-container{display:none;}
nav.keisetsu-fixed-section-navi .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-icon{transform: scaleY(-1);}
/* サブメニューアイコン */
nav.keisetsu-fixed-section-navi .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon{display:inherit;position:absolute;width:1rem;height:1rem;top:calc((1rem + 24px) / 2);left:auto;right:1rem;}

/* サブメニュー項目 */
nav.keisetsu-fixed-section-navi .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container{padding:0;width:100%;background:rgba(0,0,0,0.1) !important;}
nav.keisetsu-fixed-section-navi .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding-left:1rem;}
/* 項目選択 */
nav.keisetsu-fixed-section-navi .wp-block-navigation-item__content:hover,nav.keisetsu-fixed-section-navi .wp-block-navigation__responsive-container-close:hover{background:rgba(0,0,0,0.3);}

/* 画面幅による制御 */
@media screen and (max-width:520px) {
nav.keisetsu-fixed-section-navi .wp-block-navigation__responsive-container-open{padding:15px 20px;}
nav.keisetsu-fixed-section-navi .wp-block-navigation__responsive-container{width:100vw;}
}

/* FAQ用アコーディオンブロック */
details.faq-summary-details {
background:#f8ffff;
border:1px solid #eee;
border-radius:10px;
margin-bottom:5px;
}
details.faq-summary-details summary{
list-style:none;
display:block;
cursor:pointer;
font-size:clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
outline: 1px solid #ddd;
border-radius: 10px;
padding:1rem 2.5rem;
color:#210063;
background:#fff;
}
details.faq-summary-details summary::-webkit-details-marker{
display:none;
}
details.faq-summary-details summary::before{
font-family:"Font Awesome 5 Free";
font-weight:900;
content:'\f128';
color:#A4C6FF;
margin-right:0.5rem;
margin-left:-1.25rem;
font-size:clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
}
details.faq-summary-details summary::after{
content:"＋";
float:right;
color:#A4C6FF;
margin-right:-1.75rem;
}
details[open].faq-summary-details summary::after{
content:"−";
}
details.faq-summary-details p{
padding:0.5rem 2.5rem 0.5rem 2.5rem;
}


/* ----- CSS Trial ----- */
/* ----- ボタン（左下三角付き） -----*/
.keisetsu-button-lbtriangle .wp-block-button{position:relative;}
.keisetsu-button-lbtriangle .wp-block-button a.wp-block-button__link:after{content:'';position:absolute;display:flex;left:calc(-0.3em + -1px);bottom:calc(-0.3em + -1px);transition:right 0.3s;border-style:solid;border-color:currentColor transparent transparent transparent;border-width:0.5em 0.5em 0 0.5em;transform:translateY(-50%) rotate(45deg);}
.keisetsu-button-lbtriangle .wp-block-button a.wp-block-button__link:hover{filter:saturate(150%);}
.keisetsu-button-lbtriangle .wp-block-button a.wp-block-button__link:hover:after{border-width:0.7em 0.7em 0 0.7em;}

/* --- Product&Servuce --- */
.content .company {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.content .company h1 {
	color: #210063;
	font-family: "Arial Black", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Gadget", "sans-serif";
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;        /* 文字の影 */
}

.content .company h2 {
	color: #210063;
	font-family: "Arial Black", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Gadget", "sans-serif";
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;        /* 文字の影 */
}

.content .company h3 {
	color: #210063;
	font-family: "Arial Black", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Gadget", "sans-serif";
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;        /* 文字の影 */
}

.content .company h4 {
	color: #210063;
	font-family: "Arial Black", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Gadget", "sans-serif";
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;        /* 文字の影 */
}

.content .company .message {
	color: #210063;
	font-family: "Arial Black", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Gadget", "sans-serif";
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;        /* 文字の影 */
}

.content .company table{
	width: 100%;
	float: left;
	margin: 0;
	border-collapse: collapse;
	border-top: #210063 1px solid;
	border-left: #210063 1px solid;
	border-right: #210063 1px solid;
	box-sizing: border-box;
	font-family: "Arial Black", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Gadget", "sans-serif";
}

.content .company table td{
	padding: 10px 20px;
	border-bottom: #210063 1px solid;
	border-left: #210063 1px solid;
	box-sizing: border-box;
	font-family: "Arial Black", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Gadget", "sans-serif";
}

.content .company table th{ 
	padding: 10px 20px;
	border-bottom: #210063 1px solid;
	box-sizing: border-box;
	font-family: "Arial Black", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Gadget", "sans-serif";
}


/* --- TopMessage --- */
.content .top {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.content .top h1 {
	color: #210063;
	font-family: "Arial Black", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Gadget", "sans-serif";
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;        /* 文字の影 */
}

.content .top h2 {
	color: #210063;
	font-family: "Arial Black", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Gadget", "sans-serif";
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;        /* 文字の影 */
}

.content .top .message {
	color: #000000;
	font-family: "Arial Black", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Gadget", "sans-serif";
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;        /* 文字の影 */
}