body {
    scroll-behavior: smooth;
    color: #222;
    margin: 0;
    font-size: 18px;
    line-height: 27px;
    font-family: "Noto Sans JP", sans-serif,ＭＳ\ Ｐゴシック,MS PGothic,sans-serif;
}
img {
    width:100%;
}

a {
    cursor: pointer;
}
a:hover {
    opacity:0.7;
}
.size28 {
    font-size: 28px;
    line-height: 56px;
    letter-spacing: 1px;
    font-weight: bold;
}
.size24  {
    font-size: 24px;
    line-height: 56px;
    letter-spacing: 1px;
    font-weight: bold;
}

.faxnumber-fax {
    font-size:18px;
    letter-spacing: 1px;
    font-weight: bold;
}
.faxnumber-number {
    font-size:24px;
    margin:0 10px;
    font-weight: bold;
}
.faxnumber-time {
    font-size:12px;
}

.inner {
    width: 932px;
    margin: auto;
}
#container {
    margin-top:60px;
    margin-bottom:100px;
}
.page-heading {
    font-size: 28px;
    text-align: center;
}
.t-center {
    text-align: center;
}
.none-pc {
	display: none;
}
/*=============================
ヘッドライン
=============================*/
#headline {
    word-break: keep-all;
    background:#fff;
    position: fixed;
    top:0;
    z-index: 10000;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
}

#title {
	width:20%;
    min-width:340px;
	padding: 0 1%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#title img {
    width:100%;
}
#head-navigation {
	width:80%;
}

#head-faxnumber {
    width:100%;
	padding: 0 1%;
	box-sizing: border-box;
	background: #DEE3E8;
    color:#014BA0;
    text-align: left;
    display: flex;
    justify-content: flex-end;
}
#head-faxnumber .head-navigation-wrap {
	padding: 0 2%;
	box-sizing: border-box;
    height:48px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#head-menu {
    width:100%;
    height:72px;
    background: #014BA0;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
#head-menu .head-navigation-wrap {
    width:100%;
    height:72px;
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#head-menu a {
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}
#head-menu a:hover {
    text-decoration: underline;
}
#head-menu-mail {
	margin-right:1%;
}
#head-menu-mail a {
    padding:12px 42px;
    color:#014BA0;
    background: #FFFFC1;
    border-radius: 30px;
}

#head-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
}

.area-display {
    display: none;
}
/*-----------------------------
#head-menu li a {
    padding: 20px 30px;
	line-height: 0;
}
    -----------------------------*/

/*-----------------------------
ドロップダウン メニュー


.menu {
	font-size:11px;
	letter-spacing:-0.3px;
	padding:0;
	list-style:none;
    display: -webkit-flex;
    display: flex;
	-webkit-justify-content: space-between; 
    justify-content:         space-between;
    vertical-align:middle;


    position: relative;
    width: 100%;
    height: 30px;
    margin: 0;
    list-style:none;

}

.menu > li {
    float: left;
    margin:0;
    padding:0;

}

#nav li a {
    width: 100%;
    padding:20px auto;
    display: block;
}
    -----------------------------*/

.menu_toplevel a {
        height:100%;
        padding:23px 30px;
        display: block;
}

#nav > li a {
    display: block;
    color: #fff;

}

#nav > li a:hover {
    color: #999;
}


#nav > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
}


#nav:after {
    clear: both;
}
#nav {
    *zoom: 1;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1000;
    padding:0;
    margin:0;
	margin-top:-20px !important;
}



#nav > li.menu__multi {
    position: relative;
    color:#fff;
    font-weight: bold;
}

li.menu__multi ul.menu__second-level {
    position: absolute;
    padding: 5px 0px;
    top: 50px;
    left:-10px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    display: flex;
    flex-direction: column;
}

li.menu__multi:hover ul.menu__second-level {
    top: 70px;
    left:-10px;
    visibility: visible;
    opacity: 1;
}

li.menu__multi ul.menu__second-level li {
    position: relative;
}

li.menu__multi ul.menu__second-level li:hover {
}
.menu__second-level li {
	padding: 0;
    width:240px;
    background: #67B9FF;
}
.menu__second-level li a {
    padding:10px 10px;
}


.menu__second-level li a:hover {
    background: #67B9FF;
    padding:10px 10px;
}
.menu__multi span {
    padding:0 20px;
}





/*=============================
フッター
=============================*/
#footer {
    width: 100%;
    background: #F0F0F0;
    margin-top:60px;
    padding-top:75px;
    padding-bottom:20px;
}
#footer-wrap {
    font-size: 17px;
    line-height: 26px;
    padding-bottom:75px;
    display: flex;
    justify-content: space-between;
}
#footer-logo {
    width:150px;
    padding-right:30px;
}
#footer-info {
    width:380px;
}
#footer-info a {
    color:#222;
    font-weight: bold;
}
.footer-link {
    width:372px;
    display: flex;
    justify-content: space-between;
}
.footer-link ul {
    margin: 0;
    padding:0;
    list-style: none;
}
.footer-link a {
    color:#222;
    text-decoration: none;
}
.footer-link a:hover {
    text-decoration: underline;
}
#copyright {
    text-align: center;
    font-size: 12px;
}

/*=============================
トップページ
=============================*/
/*-----------------------------
イメージ
-----------------------------*/
#main-image {
    height: 610px;
    font-size: 26px;
    line-height: 46px;
    font-weight: bold;
    background: url(/asset/img/main/main-image.jpg) no-repeat ;
	background-position:center 70px;
    background-size:auto 540px;
    background-attachment: fixed;

}
#main-image .inner {
    color: #fff;
    text-shadow:0 0 6px #222,0 0 6px #222,0 0 8px #222;
    padding-top: 200px;
}

/*-----------------------------
コンセプトとフロー
-----------------------------*/
#main-wrap {
    margin-top:60px;
    display: flex;
    justify-content: space-between;
}
#main-concept {
    width:50%;
}

#main-flow {
    width:35%;
    font-size: 20px;
}
#main-flow ol {
    margin: 0;
    padding: 0;
    list-style: none;
    border-left: 1px solid #222;
    border-right: 1px solid #222;
    border-top: 1px solid #222;
}
#main-flow li {
    background: url(/asset/img/main/flow-arrow.png) no-repeat 18px 6px;
    background-size: 16px;
    font-size: 16px;
    margin:14px 0;
    padding:0 0 14px 44px;
    border-bottom: 1px solid #222;
}
#main-flow li:first-child {
    background: url(/asset/img/main/flow-start.png) no-repeat 18px top;
    background-size: 18px;
}
#main-flow li:last-child {
    background: url(/asset/img/main/flow-end.png) no-repeat 18px top;
    background-size: 28px auto;
}

#main-news h2, #main-mail h2 {
    font-size: 28px;
    line-height: 64px;
}
#main-mail {
	padding-top:100px;
	margin-top: -150px;
}
/*-----------------------------
中盤ボタン
-----------------------------*/
#main-button {
    margin:60px 0;
    display: flex;
    justify-content: space-between;
}
.main-button-content {
    font-size: 15px;
    letter-spacing: 1.5px;
    width:31%;
}
.main-button-content a {

    cursor: pointer;
    background: #313131;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    border-radius: 40px;
    padding:20px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}


/*-----------------------------
新着アコーディオン
-----------------------------*/
#main-news-content {
    border-top: 1px solid #ccc;	
}
.news-button {
    display: flex;
    align-items: center;
    justify-content: center;
	margin:90px auto;
}

.accordion-item {
    border-bottom: 1px solid #ccc;
    overflow: hidden;
    background: white;
}

.accordion-header {
	font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    cursor: pointer;
    list-style: none;
    position: relative;
}

.accordion-header .question {
    font-size: 16px;
}
.question span {
	padding-right: 40px;
		margin-right: 40px;

}
.accordion-header .icon {
    font-size: 20px;
    position: relative;
    top: -10px;
}

.accordion-header .icon::before {
    content: "+";
    position: absolute;
    right: 0;
    font-size: 20px;
    transition: transform 0.3s ease, content 0.3s ease;
}

.accordion-content {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease-out;
}

.accordion-content p {
    padding: 10px;
    margin: 0;
}

.accordion-item.open .accordion-content {
    max-height: 1000px; 
}

.accordion-item.open .accordion-header .icon::before {
    content: "-";
}


/*-----------------------------
問い合わせ
-----------------------------*/
#mail-form,#mail-form dl {
    display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
	margin:auto;
	width:90%;
}
#mail-form p {
	margin:auto;
	width: 100%;
}
/*

#mail-form p:nth-child(even) {
	width:30%;
}
#mail-form p:nth-child(odd) {
	width:68%;
}*/
#mail-form dt {
    text-align: center;
	margin: 0;
	padding:10px 0;
	width: 26%;
}
#mail-form dd {
	text-align: left;
	margin: 0;
	padding:10px 0;
	width: 74%;
}
#mail-form select {
    font-size: 17px;
}
#mail-form dd input {
	width: 100%;
	padding: 16px 20px;
}

/*-----------------------------
Contactform7 カスタマイズ部分
-----------------------------*/
.wpcf7-form-control-wrap {
	width: 100% !important;
}

#mail-form input[type="text"],
#mail-form input[type="tel"],
#mail-form input[type="email"],
#mail-form textarea {
	width: 100% !important;
	padding: 4px 8px;
}

.required {
	font-size:12px;
	padding: 0 3px;
	background: #cc0000;
	color: #fff;
	border-radius: 4px;
	margin-left: 15px;
}
.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: #c00;
	font-weight: bold;
}
input[type="submit"] {
	font-size: 21px;
	margin:auto;
    cursor: pointer;
    background: #313131;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    border-radius: 40px;
    padding:20px 160px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fax-area {
    text-align: center;
    background: #EDEDED;
    padding:31px;
    color:#014BA0;
    display: flex;
    align-items: center;
    justify-content: center;
}


/*=============================
製品一覧
=============================*/
#content-image {

	margin-top:60px;
	background-size:auto 300px !important;
    background-position: center;
    background-repeat: no-repeat;
}
#content-image h1 {
	font-size: 36px;
	letter-spacing:1.5px;
	color: #fff;
}
.bg-opacity {
	width:100%;
    height: 518px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color:rgba( 0, 0, 0, 0.4);
}

#product-list ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
}
#product-list ul::after {
    display: block;
    content:"";
    width: 222px;
}
#product-list li {
    width: 222px;
    margin-bottom: 12px;
}
#product-list img {
	border:1px solid #ccc;
}
#product-list li a {
    font-size: 18px;
    font-weight: bold;
    color: #000;
    text-decoration: none;
}
/*-----------------------------
製品個別
-----------------------------*/


#item-detail {
    display: flex;
    justify-content: space-between;
}
#item-detail-image {
    width: 400px;
}
#item-detail-text {
    width: 490px;
}
#item-info.fax-area {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#item-info p {
    color:#313131;
}
#item-info p span {
    color:#014BA0;
}
#tft-panel {
    scroll-margin-top: 150px;
}


/*-----------------------------
仕様のtable
-----------------------------*/
#product-table {
	margin:80px auto;
    overflow: scroll;
}
#product-table table {
    width:300%;
	border:1px solid #333;
}
#product-table tr:nth-child(even) {
	background: #fff;
}
#product-table tr:nth-child(odd) {
	background: #F0F0F0;
}
#product-table tr:first-child {
	background: #D1D1D1;
}
#product-table td {
	text-align:center;
	padding:14px 0;
}
#product-table a {
	color: #333;
	font-weight: bold;
	background: url(/asset/img/common/icon-pdf.png) no-repeat right center;
	background-size:15px auto;
	padding-right:20px;
}

/*-----------------------------
他の製品を見る
-----------------------------*/
#product-recommend {
	margin-top: 120px;
}
#product-recommend ul {
	margin:0;
	padding: 0;
	list-style:none;
	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
}
#product-recommend li {
    width: 222px;
    margin-bottom: 12px;
	box-sizing: border-box;
    font-size: 18px;
    font-weight: bold;
    color: #000;
}
#product-recommend ul::after {
    display: block;
    content:"";
    width: 222px;
    margin-bottom: 12px;
	box-sizing: border-box;
}

#product-recommend img {
	border:1px solid #ccc;
}
#product-recommend li a {
    color: #000;
    text-decoration: none;
}
.image-wrapper {
    position: relative; /* 子要素を相対基準に配置 */
    display: inline-block;
}

.image-wrapper::after {
    content: ''; /* 疑似要素を生成 */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* 黒の透過レイヤー */
    z-index: 1; /* 画像の上に表示 */
    pointer-events: none; /* クリック操作を透過 */
}

.image-wrapper img {
    display: block; /* 画像を整列 */
    width: 100%;
    height: auto; /* 縦横比を保持 */
}
.current-post p, .current-postnone p {
    margin-top:6px;
}
#product-recommend .image-wrapper img {
    border:0px solid #fff;
}
/*=============================
お取引について
=============================*/
/*-----------------------------
お手伝いできること
-----------------------------*/
#transaction-image {
    font-size: 28px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
}
#transaction-image-company {
    width: 250px;
    height: 180px;
    text-align: center;
    color: #fff;
    background: #67B9FF;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.transaction-image-arrow {
    width: 100px;
    background: url(/asset/img/transaction/arrow.png) no-repeat center;
    background-size: auto 30px;
}
#transaction-image-logo {
    width: 180px;
    text-align: center;
}
#transaction-image-guest {
    width: 230px;
    height: 180px;
    background: #075322;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#transaction-image-guest p {
    margin: auto;
}

#transaction-process {
    margin-top:80px;
}
#transaction-process01, #transaction-process02, #transaction-process03 {
    display: flex;
    justify-content: space-between;
}
#transaction-process01, #transaction-process02 {
    background: url(/asset/img/transaction/process-border.png) no-repeat;
    background-position: 118px bottom;
}
#transaction-process01-heading p {
    margin:0;
    padding:10px 0;
    width: 236px;
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    background: #67B9FF;
    color: #fff;
}
#transaction-process02-heading p {
    margin:0;
    padding:16px 0;
    width: 236px;
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    background: #014BA0;
    color: #fff;
}
#transaction-process03-heading p {
    margin:0;
    padding:10px 0;
    width: 236px;
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    background: #192153;
    color: #fff;
}
.transaction-process-text {
    margin: 0;
    padding-bottom:50px;
    width:640px;
}
.transaction-process-text p {
    margin: 0;
}

/*-----------------------------
納品フロー
-----------------------------*/
#transaction-flow-anchor {
	padding-top:100px;
    margin:-100px 0 0 0;
}
#transaction-flow {
    display: flex;
    justify-content: space-between;
}
#transaction-flow-common, #transaction-flow-custum {
    width: 49%;
}
#flow-common-heading {
    width: 284px;
    margin: auto;
    text-align: center;
    font-size: 28px;
    color: #fff;
    background: #1857A0;
}
#flow-common-heading p {
    padding:4px 0;
}

#flow-custum-heading {
    width: 284px;
    margin: auto;
    text-align: center;
    font-size: 28px;
    color: #fff;
    background: #67B9FF;
}
#flow-custum-heading p {
    padding:4px 0;
}
#transaction-flow ol {
    counter-reset: li;
}
#transaction-flow li {
    position: relative;
    font-size: 34px;
    padding-left: 40px;
    margin: 0 0 10px;
    list-style: none;

}
#transaction-flow-custum li:before{
    position: absolute;
    top: 0;
    left: 0;
    font-weight: bold;
    color: #67B9FF;
    counter-increment: li;
    content: counter(li)'';
}
#transaction-flow-custum li:last-child {
    background-image: none;
}

#transaction-flow-common li:before{
    position: absolute;
    top: 0;
    left: 0;
    font-weight: bold;
    color: #014BA0;
    counter-increment: li;
    content: counter(li)'';
}
#transaction-flow-common li:last-child {
    background-image: none;
}
#transaction-flow ol strong {
    font-size: 18px;
}
#transaction-flow ol p {
    min-height:30px;
    font-size: 15px;
    padding-left:20px;
    padding-bottom:20px;
    background: url(/asset/img/transaction/process-border.png) no-repeat;
    background-position: left bottom;
}


/*=============================
会社概要
=============================*/
#company-detail {
    display: flex;
    justify-content: space-between;
}
#company-detail-image {
    width:460px;
}
#company-detail-text {
    width: 440px;
}
#company-profile {
    margin-top:130px;
}
#company-profile dl {
    border-top:1px solid #ccc;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#company-profile dt {
    padding:20px;
    box-sizing: border-box;
    width:28%;
    border-bottom:1px solid #ccc;
}
#company-profile dd {
    box-sizing: border-box;
    padding:20px;
    margin-left: 0;
    width:72%;
    border-bottom:1px solid #ccc;
}
#president-profile {
    margin-top:90px;
}
#access-map {
    margin-top: 90px;
}
#access-map iframe {
	height: 560px !important;
}


/*=============================
Q & A
=============================*/
.accordion {
	margin-bottom:60px;
}
#faq-heading {
	margin-bottom: 120px;
}
#faq-heading a {
	font-weight: bold;
	color:#313131;
}
#faq-heading ul {
	margin:0;
	padding: 0;
	list-style:none;
	display: flex;
	flex-wrap: wrap;
}
#faq-heading li {
	width: 33%;
	text-align: center;
}
#faq-heading li a {
		border:1px solid #333;
	width:100%;
		box-sizing: border-box;
	padding:20px;
	display: block;
}


.faq-category-heading {
	border-bottom:1px solid #333;
	padding-left:20px;
}
/*=============================
フォーム送信後のメッセージ
=============================*/
div.wpcf7-mail-sent-ok {
background-color: #56b379;
color:#ffffff;
font-weight:bold;
font-size:120%;
padding:10px;
}
form.sent {
	margin-top:-120px;
}
form.sent p{
	margin-top:-120px;
display:none;
}