/*
Theme Name:nano child
Theme URI:
Description:WordPressテーマ「nano」の自作子テーマです。
Template:nano_tcd065
Author:DP
Version:1.24
*/


/* ==========================================================================
   本番環境のWordPressカスタマイザー「追加CSS」(wp-custom-css / custom_css投稿)
   開発環境ではこのブロックが出力されておらず、DB移行漏れの可能性があるため、
   本番ページソースから直接採取して念のためここにも移植しています。
   本番のカスタマイザー設定が正しく移行されていることを確認できた場合、
   このブロックは重複となるため削除して問題ありません。
   ========================================================================== */
@media (max-width: 767px) {
    .post-template-default.single.single-post .p-entry__img--lg{
    margin: 0 0 23px;
}
    .post-template-default.single.single-post table {
        border-collapse: collapse;
        white-space: nowrap;
        margin: 0;
        width: max-content;
        min-width: 100%;
    }
    .post-template-default.single.single-post table tr td {
        display: table-cell;
        min-width: max-content;
    }
}
.table_wrap {
    display: block;
    width: 100%;
    overflow-x: auto;
}

.post-template-default.single.single-post .l-contents--grid .l-contents__inner {
    display: flex;
    justify-content: center;
    width: min(100%, 830px);
}

.post-template-default.single.single-post .l-contents--grid .l-page-header {
    display: none;
}

/* 2025.01.03 追加 */
@media screen and (max-width: 767px) {
    .post-template-default.single.single-post table tr td:nth-of-type(1) {
        font-weight: inherit;
    }
    .archive.category.category-cardloan .cv-content-sp,
    .archive.category.category-cardloan a.tel-fixed,
    .post-template-default.single.single .cv-content-sp,
    .post-template-default.single.single a.tel-fixed{
        display: none;
    }
}
/* 2025.01.04 追加 */
.author-info {
    position: relative;
    display: flex;
    gap: 1.5em;
    width: 100%;
    margin: 5em auto 2em;
    padding: 1em 1.5em;
    background: #fff;
    border: 1px solid #ddd;
}
.author-info-title {
    position: absolute;
    top: -3em;
      left: 0;
    display: flex;
    align-items: center;
      gap: 0.25em;
    padding: 0 2.5em;
    height: 3em;
    background-color: #e95006;
    width: min(100%, 15em);
    color: #fff;
}
.author-details {
        display: block;
    width: calc(100% - 125px - 1.5em);
}
.author-image {
    display: block;
    width: 125px;
}
.author-image img {
        display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
    object-fit: contain;
}
.author-text {
        display: block;
}
p.author_company {
    display: block;
    font-size: 0.75em;
    margin-bottom: 0;
    line-height: 1;
}
p.author_name {
    display: block;
    font-size: 1.2em;
    line-height: 2;
      margin-bottom: 0;
}
.author-note {
    display: block;
    width: 100%;
    font-size: 1em;
    line-height: 1.25;
}
@media screen and (max-width: 767px) {
    .author-info {
      gap: 1em;
      padding: 1em 1em;
    }
    .author-info-title {
    padding: 0 1.5em;
    }
    .author-details {
    width: calc(100% - 100px - 1em);
    }
    .author-image {
    display: block;
    width: 100px;
    }
    p.author_company {
    font-size: 0.75em;
    }
    p.author_name {
    font-size: 1em;
    }
    .author-note {
            font-size: 0.8em;
    }
}

/* ==========================================================================
   メインビジュアル(スライダー)高さ崩れの修正
   子テーマのfunctions.phpがparent-style.css(nano_tcd065/style.css)をslick.jsの
   CSS(nano-slick-css)より先に読み込んでしまうため、詳細度が同じ
   .slick-slide{height:100%} (slick.jsが自動付与) が
   .p-header-slider__item{height:700px} (テーマ本来のCSS) を
   後勝ちで上書きしてしまい、スライダーの高さが1pxに潰れる。
   ID+クラスで詳細度を上げ、読み込み順序に関係なく確実に上書きする。
   ========================================================================== */
#js-header-slider .p-header-slider__item { height: 700px; }
@media screen and (max-width: 767px) {
  #js-header-slider .p-header-slider__item { height: 100%; }
}

/* ==========================================================================
   カスタマイズCSS（旧環境 old_nano_tcd065/style.css から自動抽出・全件移植）
   old_nano_tcd065 と nano_tcd065_1.3 の全ルールをプログラム的に比較し、
   差分（追加・変更）のあったセレクタを網羅的に抽出したものです。
   ========================================================================== */

.l-header__logo a {display: flex; align-items: center; line-height: 1; overflow: hidden; word-wrap: break-word; transition: .3s;}
.l-header__logo a:hover {opacity: .5;}
.l-header__desc {text-align: right;}
.l-header__desc strong.tel {font-size: 30px;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    color: #333;
	position: relative;
	padding: 0 0 0 30px;}
.l-header__desc strong.tel::before {content: "\f095";
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    top: 5px;
    left: 0;
    font-size: 25px;
    transform: rotateY(180deg);}
.l-header__desc strong.tel span {display: block;
    font-size: 16px;
    font-weight: normal;
    letter-spacing: .05rem;
    padding: 10px 0 0;}
.l-header__desc a.contact {background: #e95006;
    color: #fff;
    padding: 20px 60px;
    display: inline-block;
    border: 1px solid #f48f16;
    font-size: 16px;
    letter-spacing: .1rem;
    margin: 0 0 0 100px;
    position: relative;
	transition: .3s;}
.l-header__desc a.contact::before {content: "\f138";
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    top: calc(50% - 7px);
    right: 10px;
    font-size: 14px;}
.l-header__desc a.contact:hover {opacity: .5;}
.c-logo img {max-width: 250px; height: auto;}
.p-footer-widget {padding: 50px 2% 42px;}
.p-footer-widget a {color: inherit;
	transition: .3s;}
.p-footer-widgets .widget_nav_menu a:hover {opacity: .5;
	color: #000;}
#menu-footer-01 li:first-child a,
#menu-footer-02 li:first-child a,
#menu-footer-03 li:first-child a,
#menu-footer-04 li:first-child a {font-size: 16px;
    line-height: 1;
    margin-bottom: 12px;
    color: #e95006;
    font-weight: bold;}
#menu-footer-01 li:first-child ul.sub-menu li a,
#menu-footer-02 li:first-child ul.sub-menu li a,
#menu-footer-03 li:first-child ul.sub-menu li a,
#menu-footer-04 li:first-child ul.sub-menu li a {font-size: 12px;
    margin-bottom: 0;
    color: #000;
    font-weight: normal;}
.p-footer-widgets .widget_nav_menu li {list-style-type: none; font-size: 12px; line-height: 2.2; margin-bottom: 0;}
.p-header-slider__item-img {background-repeat: no-repeat;
    background-position: center center;
    width: 100%;
    height: 100%;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    background-color: #fff5d2;}
.p-hover-effect--type1 {display: block;
    overflow: hidden;
    border: 1px solid #ccc;}
.p-index-content01 {border: 3px solid #eb5505;
    border-radius: 2px;
    padding: 30px 0;}
.p-index-content01 a.cv {display: inline-block;
    transition: .3s;}
.p-index-content01 a.cv:hover {opacity: .5;}

/* 本番では.p-index-content01::before/::afterのグラデーション装飾がコメントアウトで無効化されている
   (枠線デザインへの変更に伴い意図的に無効化されたもの)。content:noneで同様に無効化する。 */
.p-index-content01::before, .p-index-content01::after { content: none; }
.p-info {border-bottom: 1px solid #ddd; border-top: 1px solid #ddd;}
.p-info__logo {margin-right: 430px;}
.p-info__inner .p-info__desc {line-height: 1.5;}
@media screen and (max-width: 767px) {
  .p-works-list__item[data-aos] {opacity: 1;}
}
.post_row {line-height: 1.1; margin-left: -15px; margin-right: -15px;}
.post_col, .post_col-2, .post_col-3 {float: left; margin-bottom: 1em; min-height: 1px; padding-left: 10px; padding-right: 10px; position: relative; width: 100%; box-sizing: border-box;}
@media screen and (min-width: 768px) {
  .post_col-2 {width: 60%;}
}
.well2 {margin-bottom: 10px; padding: 1em 1em; border: 1px solid #ddd;}
.q_button {background-color: #22cf19; box-sizing: border-box; color: #fff !important; display: inline-block; font-size: 100%; font-weight: 400; min-width: 200px; margin: 0; max-width: 90%; padding: .6em 1.3em .5em; transition: all 0.3s ease-in-out 0s; text-decoration: none; text-align: center; vertical-align: middle;}
.q_button:hover, .q_button:focus {background-color: #29f01f; color: #fff; text-decoration: none;}
div.content-nav {margin: 100px auto;}
div.content-nav ul {max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    list-style: none;}
div.content-nav ul li {float: left;
    margin: 20px auto;}
div.content-nav ul li:nth-child(even) {margin: 20px 0 20px 98px;}
.clearfix {clear: both;}
div.p-index-content06.p-cb__item.l-inner p.p-btn {display: none;}
.p-index-content04.p-cb__item .p-btn a {background: #e95006;
    color: #fff;
    padding: 20px 0;
    display: inline-block;
    border: 1px solid #f48f16;
    font-size: 16px;
    letter-spacing: .1rem;
    margin: 0 auto;
    position: relative;
    transition: .3s;
    font-weight: normal;
    line-height: 1;
    min-width: auto;
    height: auto;
    max-width: 250px;
    width: 100%;}
.p-index-content04.p-cb__item .p-btn a::before {content: "\f138";
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    top: calc(50% - 7px);
    right: 10px;
    font-size: 14px;}
.p-index-content04.p-cb__item .p-btn a:hover {opacity: .5;
	background: #e95006;}
.p-news-tab-list__tabs-item {width: 50%;}
ul#news-tab-list__panel--all li:nth-child(2n) {background: #fff;}
.p-index-content03.p-cb__item .p-btn a {background: #e95006;
    color: #fff;
    padding: 20px 0;
    display: inline-block;
    border: 1px solid #f48f16;
    font-size: 16px;
    letter-spacing: .1rem;
    margin: 0 auto;
    position: relative;
    transition: .3s;
    font-weight: normal;
    line-height: 1;
    min-width: auto;
    height: auto;
    max-width: 250px;
    width: 100%;}
.p-index-content03.p-cb__item .p-btn a::before {content: "\f138";
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    top: calc(50% - 7px);
    right: 10px;
    font-size: 14px;}
.p-index-content03.p-cb__item .p-btn a:hover {opacity: .5;
	background: #e95006;}
div.top-other {max-width: 800px;
    margin: 0 auto;
    text-align: center;}
div.top-other p {border: 1px solid #ccc;
    border-radius: 2px;
    padding: 30px 0;
    font-size: 18px;
    line-height: 2;}
div.top-other p.sub {border: none;
    font-size: 12px;
    line-height: 1;
    padding: 0;
    margin: 30px auto 0;}
div.cv-top {background-image: url(images/cv-background.jpg);
	background-size: cover;
	margin: 50px auto;}
div.cv-top div.cv-content {width: 70%;
    margin: 0 auto;
    position: relative;
    height: 300px;}
div.cv-top div.cv-content img.icon {position: absolute;
    bottom: 0;
    left: 0;
    max-height: 350px;}
.p-global-nav .sub-menu a {width: 260px;}
ul.side-tower {list-style: none;}
ul.side-tower li {margin: 0 auto 10px;}
ul.side-tower li:last-child {margin: 0 auto;}
ul.side-tower li a {transition: .3s;
    display: block;}
ul.side-tower li a:hover {opacity: .5;}
ul.side-tower.top li:first-child a {background: #e95006;
    color: #fff;
    padding: 25px 0;
    display: block;
    border: 1px solid #f48f16;
    font-size: 16px;
    letter-spacing: .1rem;
    position: relative;
    transition: .3s;
    text-align: center;
    line-height: 1;}
ul.side-tower.top li:first-child a::after {content: "\f138";
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    top: calc(50% - 8px);
    right: 20px;
    font-size: 16px;
    line-height: 1;}
ul.side-tower.top li:nth-child(2) a {background: #007fc2;
    color: #fff;
    padding: 25px 0;
    display: block;
    border: 1px solid #00b6de;
    font-size: 16px;
    letter-spacing: .1rem;
    position: relative;
    transition: .3s;
    text-align: center;
    line-height: 1;}
ul.side-tower.top li:nth-child(2) a::after {content: "\f138";
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    top: calc(50% - 8px);
    right: 20px;
    font-size: 16px;
    line-height: 1;}
ul.side-tower li img,
ul.side-tower li a img {vertical-align: bottom;
    width: 100%;}

/* 最新テーマ(1.24)で新規追加された .widget_text .textwidget ul/ol の汎用スタイルが
   side-tower ウィジェットのリストに意図せず衝突するため、詳細度を上げて上書きする */
.widget_text .textwidget ul.side-tower,
.widget_text .textwidget ol.side-tower {
  padding-left: 0;
}
.widget_text .textwidget ul.side-tower {
  list-style: none;
}

.p-company-header::before {content: "";
    position: absolute;
    background: rgba(0,0,0,.2);
    width: 100%;
    height: 100%;}
table {font-size:15px;}
table tr td iframe {width:540px;
	height:486px;
	max-width:100%;}
table tr td:nth-of-type(1) {background-color:#f8f8f8;
	width:200px;}
table tr td:nth-of-type(2) {width:700px;
	padding-left:25px;}
.orange_ul,
.orange_ul_c {display:block;
	width:550px;
	padding-bottom:5px;
 	border-bottom: solid 3px #999;
 	position: relative;}
.orange_ul:after,
.orange_ul_c:after {position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #e95006;
  bottom: -3px;
  width: 30%;}
.orange_ul_c {width:100%;}
.gray_bg {background-color:#f8f8f8;
	padding:0px 15px;}
.gray_bg p {background-color:#f8f8f8;
	padding:20px 10px;}
.border_orange {background: none;
	margin:30px 0;
 border: 1px solid #e95006;
 padding: 20px;
 position: relative;}
.border_orange:after {background: none;
 border: 1px solid #e95006;	
 content: '';
 position: absolute;
 top: 5px;
 left: 5px;
 width: 100%;
 height: 100%;
 z-index: -1;}
.border_orange h2 {border-bottom:solid 1px #dedede;
	padding-bottom:5px;
	color:#555;
	text-align:center;}
.point_bg {background-color: #fff5d3;  
	margin:30px 0;
	color:#555;
	font-weight:bold;
	padding: 20px;  
	position: relative;
	z-index: 0;}
.point_bg:before {border: 1px solid #fff; 
	content: '';
	display: block;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	margin: 4px;
	z-index: -1;}
.list_bg {background-color:#f8f8f8;
	margin:-10px 30px -60px 30px;
	padding:10px 30px;}
.contents {margin-bottom:30px;}
.flex {display: flex;}
.flex .fukidashi {margin:15px 10px;
	padding:0 15px;
	text-align:center;
	flex:1;}
.flex .flexchild {margin:15px 10px;	
	text-align:center;
	flex:1;}
.flex .fukidashi:first-child,
.flex .flexchild:first-child {margin-left:0;}
.flex .fukidashi:last-child,
.flex .flexchild:last-child {margin-right:0;}
.fukidashi {position: relative;
  display: inline-block;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #d7e3f4;}
.fukidashi:before {content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #d7e3f4;}
.fukidashi p {margin: 0;
  padding: 10px 0;}
.orange_bg {background-color:#e95006;
	margin:30px 0;
	padding:15px;
	color:#fff;}
.heading {background-color:#999;
	color:#fff;}
.detail {border:solid 3px #999;
	padding:0;}
.akapochi {color:red;
	font-weight:bold;
	margin:0 150px;}
.form_link a {background-color:#007fc2;
	width:35%;
	margin:0 auto;
	padding:20px;
	color:#fff !important;
	text-decoration:none !important;
	display:block;
	text-align:center;}
.form_link a:hover {opacity:0.8;}
@media screen and (max-width: 767px) {
  table {font-size:13px;
		width:100%;}
  table tr td,
	table tr td:nth-of-type(1),
	table tr td:nth-of-type(2) {width:100%;
		display: block;
		text-align: left !important;
		padding: 10px;
		line-height: 1.5;
		border-bottom: none;}
  table tr td:nth-of-type(1) {font-weight: bold;}
  table tr td:nth-of-type(2) iframe {height: 250px;
		margin: 15px auto;}
  table tr:last-child td:nth-of-type(2) {border-bottom: 1px solid #ddd;}
  .orange_ul {width:100%;}
  .gray_bg p {background-color:#f8f8f8;
	padding:10px 5px;}
  .list_bg {margin:0px 10px -20px 10px;
	padding:5px 10px;}
  .flex {display: block;}
  .flex .fukidashi {margin:10px 0px;
	width:100%;}
  .flex .flexchild {margin:15px 0px;}
  .akapochi {margin:0 30px;}
  .form_link a {padding:10px;}
}
.p-service-entry__header {position: relative;}
.p-service-entry__title {position: absolute;
    display: block;
    width: 100%;
    top: calc(50% - 66.6px);
    color: #fff;
    letter-spacing: .5rem;
    z-index: 2;}
.p-service-entry__img {position: relative;}
.p-service-entry__img::before {content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0,.3);}
.p-works-entry__header {position: relative;
    border: none!important;}
.p-works-entry__img {position: relative;}
.p-works-entry__img::before {content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0,.3);}
.p-works-entry__title {position: absolute;
    text-align: center;
    display: block;
    width: 100%;
    top: calc(50% - 30px);
    color: #fff;
    letter-spacing: .5rem;
    z-index: 2;}
div.cv-top div.cv-content div {position: absolute;
    right: 0;
    text-align: center;}
div.cv-top div.cv-content div h4 {margin: 30px auto;
    font-size: 30px;
    letter-spacing: .3rem;}
div.cv-top div.cv-content div ul {list-style: none;}
div.cv-top div.cv-content div ul li {display: inline-block;}
div.cv-top div.cv-content div ul li:last-child {margin: 0 0 0 20px;}
div.cv-top div.cv-content div ul li:first-child a {background: #007fc2;
    border: 1px solid #00b6de;}
div.cv-top div.cv-content div ul li:last-child a {background: #e95006;
    border: 1px solid #f48f16;}
div.cv-top div.cv-content div ul li a {color: #fff;
    padding: 25px 0;
    display: block;
    font-size: 16px;
    letter-spacing: .1rem;
    position: relative;
    transition: .3s;
    width: 350px;}
div.cv-top div.cv-content div ul li a:hover {opacity: .5;}
div.cv-top div.cv-content div ul li a::before {content: "\f138";
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	top: calc(50% - 7px);
	right: 20px;
	font-size: 14px;}
div.content-nav ul li a {transition: .3s;}
div.content-nav ul li a:hover {opacity: .5;}
ul.front-bana {margin: 50px auto 0;
    list-style: none;
    text-align: center;}
ul.front-bana li {display: inline-block;
    vertical-align: top;
    margin: 0 20px;}
ul.front-bana li a {display: block;
    transition: .3s;}
ul.front-bana li a:hover {opacity: .5;}
table.mailform {width: 100%;
    max-width: 830px;
    margin: 0 auto;}
table.mailform th,
table.mailform td {text-align: left;
    font-size: 16px;}
table.mailform th {width: 35%;}
table.mailform th span.orange {background: #e95006;
    color: #fff;
    padding: 5px 6px;
    border-radius: 2px;
    font-size: 12px;
    vertical-align: text-bottom;
    display: inline-block;
    line-height: 1;
    margin: 0 5px 0 0;}
table.mailform th span.blue {background: #007fc2;
    color: #fff;
    padding: 5px 6px;
    border-radius: 2px;
    font-size: 12px;
    vertical-align: text-bottom;
    display: inline-block;
    line-height: 1;
    margin: 0 5px 0 0;}
table.mailform th small {display: block;
    font-size: 12px;}
div.guide {height: 200px;
    overflow: scroll;}
div.guide h4 {font-size: 14px;
    margin: 10px auto;}
div.guide p {font-size: 12px;
    margin: 5px auto;}
.ui-datepicker td:nth-of-type(1),
.ui-datepicker td:nth-of-type(2) {width: auto;
    padding: 1px;}
span.text {margin: 0 5px 0 2px;}
p.submit {display: block;
    margin: 50px auto 0;
    text-align: center;}
p.submit input {padding: 20px 0;
    font-size: 18px;
    letter-spacing: .1rem;
    width: 100%;
    max-width: 350px;
    border-radius: 2px;
    box-shadow: none;
    background: #e95006;
    color: #fff;
    border: 1px solid #f48f16;
    transition: .3s;
	cursor: pointer;}
p.submit input:hover {opacity: .5;}
.mw_wp_form .error {font-size: 12px;
    color: #B70000;
    display: inline-block;}
br.sp {display: none;}
.p-entry__body table.one-three {width: 100%;}
.p-entry__body table.one-three tr th {width: 35%;}
.p-entry__body table.one-three tr td,
.p-entry__body table.one-three tr td:nth-of-type(1),
.p-entry__body table.one-three tr td:nth-of-type(2) {width: auto;
    background: #fff;
	font-weight: normal;}
@media (max-width: 500px) {
  .l-main h2.first-view-sp {margin: 0 auto;}
  .l-main h2.first-view-sp img {width: 100%;}
  .p-index-content01 {padding: 5% 2.5%;
		width: 95%;
		border: 2px solid #eb5505;}
  .p-index-content01 a.cv {display: block;}
  .p-index-content01 a.cv img {width: 100%;}
  div.content-nav {margin: 20px auto;}
  div.content-nav ul {width: 95%;}
  div.content-nav ul li,
	div.content-nav ul li:nth-child(2n) {float: none;
		margin: 10px auto;}
  div.content-nav ul li a img,
	div.content-nav ul li:nth-child(2n) a img {width: 100%;}
  div.top-other p {font-size: 12px;
		text-align: left;
		padding: 10px;}
  div.top-other p.sub {font-size: 10px;
		line-height: 1.5;
		margin: 10px auto;}
  ul.front-bana {margin: 20px auto;}
  ul.front-bana li {display: block;
		margin: 10px auto;}
  .p-info__inner .p-info__desc {text-align: left;}
  .p-copyright {height: auto;
		line-height: 1.5;
		text-align: left;
		padding: 2.5%;
		margin: 0 auto 50px;}
  div.cv-content-sp {position: fixed;
		bottom: 0;
		left: 0;
		z-index: 100;
		width: calc(100% - 50px);
		height: 50px;
		background: rgba(255,255,255,.7);
		padding: 8px 0;}
  div.cv-content-sp h4,
	div.cv-content-sp a.tel {display: none;}
  div.cv-content-sp ul {margin: 0 auto;}
  div.cv-content-sp ul li {display: inline-block;
		width: 45%;
		text-align: center;
		margin: 0 2%;}
  div.cv-content-sp ul li a {font-size: 12px;
		padding: 10px 0;
		display: block;
		border-radius: 2px;
		line-height: 1;
		color: #fff;
		background: #e95006;
		border: 1px solid #f48f16;}
  div.cv-content-sp ul li:last-child a {background: #007fc2;
		border: 1px solid #00b6de;}
  .form_link a {width: 100%;
		background: #e95006;
		border: 1px solid #f48f16;}
  table.mailform th,
	table.mailform td,
	table.mailform tr td:nth-of-type(1),
	table.mailform tr td:nth-of-type(2) {width: 100%;
		display: block;
		padding: 2.5%;}
  table.mailform td,
	table.mailform tr td:nth-of-type(1), 
	table.mailform tr td:nth-of-type(2) {background: #fff;
		border-top: none;
		font-weight: normal;
		font-size: 14px;}
  table.mailform tr:last-child td {border-bottom: 1px solid #ddd;}
  table.mailform td input,
	table.mailform td textarea {width: 100%;
		margin: 5px auto;}
  p.submit {margin: 20px auto;}
  p.submit input {padding: 15px 0;
		font-size: 16px;}
  table.mailform td span.text,
	table.mailform tr td:nth-of-type(1) span.text,
	table.mailform tr td:nth-of-type(2) span.text {font-size: 12px;
		font-weight: normal;}
  table.mailform.entry tr:nth-child(2) td input {width: 30%;}
  table.mailform.entry tr:nth-child(3) td input {width: 30%;}
  table.mailform.entry tr:nth-child(4) td input,
	table.mailform.entry tr:nth-child(5) td input {width: 35%;}
  table.mailform.entry tr:nth-child(6) td input {width: 25%;}
  table.mailform.entry tr:nth-child(9) td input {width: 20%;}
  table.mailform.entry tr:nth-child(10) td input {width: 7%;}
  table.mailform.entry tr:nth-child(11) td input {width: 7%;}
  table.mailform.entry tr:nth-child(11) td input[type="text"] {width: 80%;}
  table.mailform.entry tr:nth-child(12) td input {width: 25%;}
  table.mailform.entry tr:nth-child(19) td input {width: 20%;}
  table.mailform.entry tr:nth-child(23) td input {width: 60%;}
  table.mailform.entry tr:nth-child(24) td input {width: 20%;}
  table.mailform.entry tr:nth-child(25) td input {width: 7%;}
  table.mailform.entry tr:nth-child(26) td input {width: 7%;}
  table.mailform.entry tr:nth-child(26) td input.hasDatepicker {width: 100%;}
  table.mailform.entry tr:nth-child(28) td input {width: 7%;}
  table.ui-datepicker-calendar tr td,
	table.ui-datepicker-calendar tr td:nth-of-type(1), 
	table.ui-datepicker-calendar tr td:nth-of-type(2) {display: table-cell;
		width: auto;}
  br.sp {display: block;}
  a.tel-fixed {position: fixed;
		bottom: 0;
		right: 0;
		width: 50px;
		height: 50px;
		background: #e95006;
		color: #fff;
		z-index: 100;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    transition: background 0.2s, opacity 0.35s, -webkit-transform 0.35s;
    transition: background 0.2s, opacity 0.35s, transform 0.35s;
    transition: background 0.2s, opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    opacity: 0;}
  a.tel-fixed.is-active {-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;}
  a.tel-fixed i {font-size: 25px;
		line-height: 50px;
		display: block;
		text-align: center;}
}
.p-entry__body {letter-spacing: -1em;}
.p-entry__body * {letter-spacing: normal;}
.toggle_parts_a {position: relative;
	display: inline-block;
	width: calc(100% / 2 - (40px / 2));
	border-top: solid 1px #333;
	border-bottom: solid 1px #333;
	margin: 1em 0;
	vertical-align: top;}
.toggle_parts_a + .toggle_parts_a {border-top: none;
	margin-top: -1em;}
.toggle_parts_a + .toggle_parts_a:nth-of-type(2) {border-top: solid 1px #333;
	margin: 1em 0;}
.toggle_parts_a + .toggle_parts_a:nth-of-type(2n) {margin-left: 40px;}
.toggle_parts_a:first-of-type:not(:has( + .toggle_parts_a:nth-of-type(2))) {width: 100%;}
@media (max-width: 768px) {
  .toggle_parts_a {width: 100%;}
  .toggle_parts_a + .toggle_parts_a:nth-of-type(2) {border-top: none;
		margin-top: -1em;align-content}
  .toggle_parts_a + .toggle_parts_a:nth-of-type(2n) {margin-left: 0;}
}
.toggle_parts_a .toggle_head {position: relative;
	display: block;
	width: 100%;
	padding: 1em;
	padding-right: 2em;
	cursor: pointer;}
.toggle_parts_a .toggle_head:before,
.toggle_parts_a .toggle_head:after {content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: auto;
	right: 0.5em;
	margin: auto 0;
	width: 1em;
	height: 2px;
	border-radius: 2px;
	background-color: #ff5500;
	transform-origin: center;}
.toggle_parts_a .toggle_head:after {transition: rotate 0.2s ease-in-out;
	rotate: 90deg;}
.toggle_parts_a.open .toggle_head:after {rotate: 0deg;}
.toggle_parts_a .toggle_body {position: relative;
	width: 100%;
	display: grid;
  grid-template-rows: 0fr;
	transition: grid-template-rows 0.2s ease-in-out;}
.toggle_parts_a.open .toggle_body {grid-template-rows: 1fr;}
.toggle_parts_a .toggle_body .toggle_body_inner {overflow: hidden;}
.toggle_parts_a .toggle_body .toggle_body_inner .toggle_body_inner_text {padding: 1em;
	font-size: 0.8em;
	letter-spacing: -0.1em;
	line-height: 1.5;}
.faq_parts {position: relative;
	display: block;
	width: 100%;
	border-top: solid 1px #333;
	border-bottom: solid 1px #333;
	margin: 1em 0;
	font-size: 1em;
	line-height: 1.5;}
.faq_parts + .faq_parts {border-top: none;
	margin-top: -1em;}
.faq_parts .faq_parts_question {position: relative;
	display: block;
	width: 100%;
	padding: 1em;
	padding-left: 4em;
	font-size: 1.2em;
	font-weight: 600;
	color: #ff5500;}
.faq_parts .faq_parts_question:before {content: "Q";
	position: absolute;
	top: 0.25em;
	left: 0.5em;
	right: auto;
	font-size: 2em;
	font-weight: 600;
	color: #ff5500;
	width: 1em;
	height: 1em;
	display: flex;
	align-items: center;
	justify-content: center;}
.faq_parts .faq_parts_answer {display: block;
	position: relative;
	display: block;
	width: 100%;
	padding: 1em;
	padding-left: calc(4em * 1.2);
	padding-bottom: 1.5em;}
.faq_parts .faq_parts_answer:before {content: "A";
	position: absolute;
	top: 0.25em;
	left: 0.5em;
	right: auto;
	font-size: calc(2em * 1.2);
	font-weight: 600;
	color: #575757;
	width: 1em;
	height: 1em;
	display: flex;
	align-items: center;
	justify-content: center;}
.notes_parts {position: relative;
	display: block;
	width: 100%;
	font-size: 1em;
	
	background-color: transparent;
	margin: 1em 0;}
.notes_parts .notes_parts_head {position: relative;
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: flex-start;
	gap: 0.5em;
	font-size: 10px;
	padding: 1em;
	color: #636262;
	cursor: pointer;}
.notes_parts .notes_parts_head .cross {position: relative;
	display: block;
	width: 10px;
	height: 10px;}
.notes_parts .notes_parts_head .cross:before,
.notes_parts .notes_parts_head .cross:after {content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 2px;
	border-radius: 2px;
	transform-origin: center;
	background-color: #7D7D7D;}
.notes_parts .notes_parts_head .cross:after {transition: rotate 0.2s ease-in-out;
	rotate: 90deg;}
.notes_parts.open .notes_parts_head .cross:after {rotate: 0deg;}
.notes_parts .notes_parts_body {position: relative;
	width: 100%;
	display: grid;
  	grid-template-rows: 0fr;
	transition: grid-template-rows 0.2s ease-in-out;}
.notes_parts.open .notes_parts_body {grid-template-rows: 1fr;}
.notes_parts .notes_parts_body_inner {overflow: hidden;}
.notes_parts .notes_parts_body_inner .notes_parts_body_inner_text {position: relative;
	display: block;
	width: 100%;
	padding: 0 1.25em 1.25em 1.25em;
	color: #737373;
	font-size: 10px;}
.quote_prats {position: relative;
	display: block;
	width: 100%;
	background-color: #f5f5f5;
	color: #000;
	padding: 2em 1em 1em;
	font-size: 1em;
	line-height: 1.5;
	margin: 1em 0;}
.quote_prats:before,
.quote_prats:after {position: absolute;
	color: #7896ff;
	font-size: 1.25em;}
.quote_prats:before {content: '“';
	top: 0.2em;
	left: 0.5em;}
.quote_prats:after {content: "”";
	bottom: 0.2em;
	right: 0.5em;}
.quote_prats .quote_prats_body {position: relative;
	display: block;}
.quote_prats .quote_prats_source {position: relative;
	display: block;
	width: 100%;
	padding-top: 1em;}
.quote_prats .quote_prats_source a {position: relative;
	display: block;
	width: 100%;
	color: #919191;
	font-size: 0.75em;
	text-decoration: none;}
.tab_parts {position: relative;
	display: block;
	margin: 1em 0;}
.tab_parts .tab_btn_wrap {display: flex;
	width: 100%;}
.tab_parts .tab_button {flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1em 0;
	font-size: 0.85em;
	font-weight: 900;
	cursor: pointer;}
.tab_parts .tab_button:nth-of-type(1) {background: transparent;
	color: #6FB4FF;}
.tab_parts .tab_button:nth-of-type(1):hover,
.tab_parts .tab_button:nth-of-type(1).active {background: #6FB4FF;
	color: #fff;}
.tab_parts .tab_button:nth-of-type(2) {background: transparent;
	color: #FF5858;}
.tab_parts .tab_button:nth-of-type(2):hover,
.tab_parts .tab_button:nth-of-type(2).active {background: #FF5858;
	color: #fff;}
.tab_parts .tab_contents {display: block;
	width: 100%;
	font-size: 1em;
	line-height: 1.5;}
.tab_parts .tab_contents .tab_content {display: none;
	padding: 1em 2em;}
.p-entry__body p.number {display: none;}
@media (max-width: 768px) {
  .tab_parts .tab_contents .tab_content {padding: 2em 1em;}
}
.tab_parts .tab_contents .tab_content.active {display: block;}
.tab_parts .tab_contents .tab_content:nth-of-type(1) {background-color: #E8F3FF;}
.tab_parts .tab_contents .tab_content:nth-of-type(2) {background-color: #FFEFEF;}

