@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

/* !HTML5 elements
---------------------------------------------------------- */
header, 
footer, 
nav, 
section, 
aside, 
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
  border: none;
}

ul,
ol,
li {
	list-style: none;
}

img {
	max-width: 100%;
    height: auto;
	vertical-align: top;
}

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
}

select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit]  {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	cursor: pointer;
}

*,
*:before,
*::after {
	box-sizing: border-box;
}
/* !Clearfix
---------------------------------------------------------- */
.clearfix {
    display: block;
    min-height: 1%;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

* html .clearfix {
    height: 1%;
}

* { 
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}

/* !Layout
---------------------------------------------------------- */
html {
    overflow-y: scroll;
    font-size: 62.5%;
}

body {
	background: #120B09;
    color: #fff;
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
    line-height: 1.7;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/*** タブレット 768x ~ 1300px***/
@media screen and (min-width: 768px) and (max-width: 1200px) {
    html {
        font-size: 0.8333vw;
    }
}
@media screen and (max-width: 767px) {
    html {
        font-size: 62.5%;
    }
	
	body {
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 374px) {
	html {
	    font-size: 2.6667vw;
	}
}


/*** pc ***/
@media screen and (min-width: 768px) {
    .is-sp {
        display: none;
    }
}
/*** sp ***/
@media only screen and (max-width : 767px){
	.is-pc {
		display: none;
	}
}

/* !Base Fonts -------------------------------------------------------------- */
a {
    color: inherit;
    text-decoration: none;
}


/*** hover ***/
@media screen and (min-width: 960px) {
    a {
        transition: all 0.5s;
    }
	
    .op {
        transition: opacity 0.5s ease-out;
    }

    .op:hover {
        opacity: .7;
    }

    a[href^="tel:"] {
        cursor: default;
        pointer-events:none;
    }
}

.is-hide {
    display: none;
}


/* !wrapper
---------------------------------------------------------- */
#wrapper {
	position: relative;
	z-index: 2;
}

/* !header
---------------------------------------------------------- */
#header {
	display: flex;
	justify-content: space-between;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 99;
	transition-duration: 0.5s;
	padding: 2rem 5rem;
	width: 100%;
}

.header-logo {
	display: flex;
	align-items: center;
	position: relative;
	height: 9rem;
}
.header-logo .on {
	position: absolute;
	left: 0;
}

.btn-menu {
	display: none;
}
#g-navi {
	display: flex;
	align-items: center;
	font-size: 1.5rem;
}
#g-navi ul {
	display: flex;
	gap: 0 3.6rem;
}
#g-navi li a {
	color: #000;
}

.header-links {
	display: flex;
	align-items: center;
	gap: 0 1rem;
	margin-left: 3.6rem;
}
.header-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 2rem;
	height: 4rem;
	background: #000;
	border-radius: 5rem;
	color: #fff;
}
.header-links .shop {
	background: #5C5857;
}

#header.active {
	padding: 0 4rem;
	background: #120B09;
}
.active .header-logo .on {
	opacity: 0;
}
.active #g-navi li a {
	color: #fff;
}
.active .header-links .contact {
	background: #fff;
	color: #111;
}

/*** hover ***/
@media screen and (min-width: 960px) {
	#g-navi li a:hover {
		text-decoration: underline;
	}
	.header-links a:hover,
	.active .header-links .contact:hover {
		background: #D95A33;
		color: #fff;
	}
}

/* !teaser
---------------------------------------------------------- */
#teaser {
	display: flex;
	align-items: center;
	justify-content: center;
    overflow: hidden;
    position: relative;
	z-index: 2;
    margin: 2rem 2rem 0;
	padding: 5rem 5rem 0;
	height: 48rem;
	background: no-repeat center;
	background-size: cover;
    border-radius: 1rem;
}
#teaser:before {
    content: "";
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 0;
	z-index: 1;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));
}
#teaser .head-large {
	position: relative;
	z-index: 2;
    margin-bottom: 0;
}
#case #teaser,
#news #teaser,
.single-post #teaser,
.post-type-archive-case #teaser {
	background-image: url(../img/case/teaser.jpg);
}
#company #teaser {
	background-image: url(../img/company/teaser.jpg);
}
#shop #teaser {
	background-image: url(../img/shop/teaser.jpg);
}
#product #teaser,
.post-type-archive-product  #teaser{
	background-image: url(../img/product/teaser.jpg);
}
#contact #teaser,
.error404 #teaser {
	background-image: url(../img/contact/teaser.jpg);
}

/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
	padding: 2rem 0 7.8rem;
	font-size: 1.2rem;
}
#breadcrumb ul {
	display: flex;
	justify-content: flex-end;
	gap: 0 4.2rem;
	color: #777371;
}
#breadcrumb li {
	position: relative;
}
#breadcrumb li + li:before {
	content: "";
	position: absolute;
	right: calc(100% + 2.1rem);
	top: 50%;
	transform: translateX(50%);
	width: 1.8rem;
	border-top: 1px solid;
}
#breadcrumb li a {
	color: #fff;
}



/*** hover ***/
@media screen and (min-width: 960px) {
	#breadcrumb li a:hover {
		color: #777371;
	}
	
	
}

/* !footer
---------------------------------------------------------- */
#footer {
	margin-top: 8rem;
	padding: 8rem 0 3rem;
}

.footer-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.foot-logo {
	margin-bottom: 4rem;
}
#footer .access {
	font-size: 1.4rem;
}
#footer .access .company {
	margin-bottom: 1rem;
	font-size: 1.6rem;
}
.foot-links {
	max-width: 36rem;
}
.foot-links ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 3.6rem;
	font-size: 1.5rem;
}
#copyright {
	margin-top: 5rem;
	text-align: center;
	color: #9A9A9A;
	font-size: 1.2rem;
}

/*** hover ***/
@media screen and (min-width: 960px) {
	.foot-links a:hover {
		text-decoration: underline;
	}
}


/* !common
---------------------------------------------------------- */
#contents {}

.inner,
.inner-small {
	margin: 0 auto;
	padding: 0 2rem;
	max-width: 130rem;
}
.inner-small {
	max-width: 112rem;
}

.head-large {
	margin-bottom: 2rem;
	padding-bottom: 2.6rem;
	background: url(../img/common/icon_head.svg)no-repeat center bottom;
	background-size: 4.2rem;
	text-align: center;
	font-weight: 400;
}
.hl-space{
	padding-top: 14rem;
}
.head-large p + p {
	margin-top: 0.3rem;
}
.head-large .jap {
	font-size: 4.2rem;
}
.head-large .eng {
	text-transform: capitalize;
	letter-spacing: 0.03em;
	font-size: 1.8rem;
	font-style: italic;
}
.head-small {
	margin-bottom: 7.2rem;
	text-align: center;
}

.ta-center {
	text-align: center;
}

.btn-link {
	margin-top: 4rem;
}
.btn-link.btns {
	display: flex;
	justify-content: center;
	gap: 0 3rem;
} 
.btn-link .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 2rem;
	height: 5.6rem;
	width: 100%;
	max-width: 27rem;
	background: url(../img/common/icon_link_wh.svg)no-repeat right 1.2rem center rgba(0,0,0,0.2);
	background-size: 2.8rem;
	border-radius: 5rem;
	border: 1px solid #8B8583;
}

#contact .btn-link .btn {padding: 0 10rem;}

.wp-pagenavi {
	display: flex;
	justify-content: center;
	gap: 0 0.8rem;
	margin: 8rem auto 0;
	font-weight: 500;
}
.wp-pagenavi a,
.wp-pagenavi span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4.4rem;
	height: 4.4rem;
	border: 1px solid #8B8583;
	border-radius: 50%;
}
.wp-pagenavi .pages,
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .previouspostslink {
	display: none;
}
.wp-pagenavi .current {
	border-color: #D95A33;
	color: #D95A33;
}
.wp-pagenavi .nextpostslink {
	margin-left: 2.4rem;
	background: url(../img/common/icon_link_wh.svg) no-repeat center;
	background-size: 2.8rem;
	font-size: 0;
}

.anchor-area {
	position: relative;
}
.anchor-area .anchor {
	position: absolute;
	top: -9rem;
}

.fwb {
	font-weight: 700;
}


/*** hover ***/
@media screen and (min-width: 960px) {
	.btn-link .btn:hover {
		background-color: #D95A33 !important;
		border-color: #D95A33;
	}
	
	.wp-pagenavi a:hover {
		border-color: #D95A33;
		color: #D95A33;
	}
	.wp-pagenavi .nextpostslink:hover {
		background-image: url(../img/common/icon_link_ora.svg);
	}
	
}


/* !page
---------------------------------------------------------- */
#main-visual {
	overflow: hidden;
	position: relative;
	margin: 2rem 2rem 0;
	border-radius: 1rem;
}
.main-swiper {
	position: relative;
	z-index: 1;
}
#main-visual .kv {
	position: relative;
}
#main-visual .kv:before {
	content: "";
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.7));
}
#main-visual .kv img {
	object-fit: cover;
	width: 100%;
	height: calc(100vh - 4rem);
}
.main-info {
	position: absolute;
	bottom: 8rem;
	left: 7rem;
	z-index: 2;
}
.main-info .head {
	font-weight: 400;
}
.main-info .head .eng {
	position: relative;
	line-height: 1.11;
	font-style: italic;
	font-size: 6rem;
}
.main-info .head .eng:after {
	content: "";
	display: block;
	position: absolute;
	right: -9.2rem;
	bottom: -1.3rem;
	width: 14.3rem;
	height: 4.9rem;
	background: url(../img/common/icon_head.svg)no-repeat center;
	background-size: 100%;	
}
.main-info .head .jap {
	letter-spacing: 0.04em;
	font-size: 1.8rem;
}

.top-about {
	padding: 12rem 0 0;
}
.top-about .display {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row-reverse;
}
.top-about .display .img {
	overflow: hidden;
	width: calc(50% - 1rem);
	border-radius: 1rem;
}
.top-about .display .info {
	width: calc(50% - 3rem);
}
.top-about .head {
	margin-bottom: 2rem;
	line-height: 1.5;
	font-size: 2.8rem;
	font-weight: 500;
}
.top-about .btn-link {
	margin-top: 3.2rem;
}

.top-reason {
	padding: 14rem 0;
}
.top-reason .reason-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.9rem;
}
.top-reason .reason-list li {
	position: relative;
	padding: 6rem 3.5rem 3rem;
	background: #262626;
	border-radius: 1rem;
}
.top-reason .reason-list li .step {
    pointer-events:none;
	position: absolute;
	left: 2rem;
	top: 1rem;
	line-height: 1;
	letter-spacing: -0.04em;
	color: #1D1D1D;
	font-style: italic;
	font-size: 10rem;
}
.top-reason .reason-list li .tit {
	padding-top: 10.9rem;
	margin-bottom: 1.4rem;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 8.5rem;
	line-height: 1.5;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 500;
}
.top-reason .icon_reason01 {
	background-image: url(../img/top/icon_reason1.svg);
}
.top-reason .icon_reason02 {
	background-image: url(../img/top/icon_reason2.svg);
}
.top-reason .icon_reason03 {
	background-image: url(../img/top/icon_reason3.svg);
}

.top-product {
	padding: 11rem 0 13rem;
	position: relative;
	z-index: 2;
	color: #000;
}
.top-product:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: calc(100% - 9rem);
	height: 100%;
	z-index: -1;
	background: #E9E9E9;
	border-radius: 0 1rem 1rem 0;
}
.top-product .sub {
	margin-bottom: 2rem;
	text-align: center;
}
.product-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem 0;
	margin-left: -1rem;
}
.product-list > li {
	margin-left: 1rem;
	padding: 2rem 2rem 2.3rem;
	width: calc(100%/3 - 1rem);
	background: #fff;
	border-radius: 1rem;
}
.product-list .head {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1.6rem;
	line-height: 1.5;
	text-align: center;
}
.product-list .head .jap {
	font-size: 2.4rem;
	font-weight: 400;
}
.product-list .head .jap2 {
	color: #606060;
	font-weight: 400;
}
.product-list .pic {
	text-align: center;
}

.product-list .pic img {
	width: 240px;
	height: 240px;
	object-fit: cover;
}

.top-product .btn-link {
	text-align: center;
}
.top-product .btn-link .btn {
	background-color: rgba(0, 0, 0, 0.5);
	color: #fff;
}

.top-case {
	padding: 14rem 0;
}
.top-case .case-results li {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.case-results li + li {
	margin-top: 3rem;
}
.case-results li .img {
	overflow: hidden;
	width: calc(50% - 4rem);
	border-radius: 1rem;
}
.case-results li .img img {
	width: 100%;
}
.case-results li .info {
	width: calc(50% - 1rem);
}
.case-results .head {
	margin-bottom: 2rem;
	line-height: 1.5;
	font-size: 2.4rem;
	font-weight: 500;
}

.top-faq {
	padding: 11rem 0 13rem;
	background: #262626;
}
.js-toggle-btn {
	cursor: pointer;
}
.js-toggle-box {
	display: none;
}
.faq-list li {
	padding: 0.4rem 4.8rem;
	background: #E9E9E9;
	border-radius: 1rem;
	color: #000;
}
.faq-list li + li {
	margin-top: 0.7rem;
}
.faq-list li .quest {
	padding: 2rem 4.2rem 2rem 4.5rem;
	background: url(../img/common/icon_plus.svg)no-repeat right center;
	background-size: 1.8rem;
	font-size: 1.8rem;
	font-weight: 500;
}
.faq-list li .quest.open {
	background-image: url(../img/common/icon_minus.svg);
}
.faq-list li .answer {
	padding: 2rem 0 2rem 3.6rem;
	border-top: 1px solid #373737;
}
.faq-list li p {
	position: relative;
}
.faq-list li p:before {
	position: absolute;
	left: 0;
	line-height: 1;
	color: #D95A33;
	font-size: 2.2rem;
	font-weight: 400;
}
.faq-list li .quest:before {
	content: "Q.";
	top: 2.2rem;
}
.faq-list li .answer:before {
	content: "A.";
	top: 2rem;
}

.top-news {
	padding: 14rem 0;
}
.news-list li {
	display: flex;
	align-items: center;
	gap: 0 3rem;
	padding: 3rem 2.4rem;
	border-bottom: 1px solid #373737;
}
.news-list .dt {
	display: flex;
	align-items: center;
	gap: 0 1rem;
	color: #9A9A9A;
}
.news-list .date {
	/*width: 6.8rem;*/
	font-size: 1.5rem;
}
.news-list .cate {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.1rem 0;
	width: 9rem;
	border: 1px solid;
	border-radius: 2rem;
	text-align: center;
	font-size: 1.4rem;
}

.contact-section {
	padding: 10rem 2rem;
	background: url(../img/common/bg_contact.jpg)no-repeat center;
	background-size: cover;
	border-radius: 1rem;
	text-align: center;
}

/*** hover ***/
@media screen and (min-width: 960px) {
	.news-list .dd a:hover {
		text-decoration: underline;
	}
}


/* case.html 
-----------------------------------------------------------*/
.case-linklist li + li {
    margin-top: 1rem;
}
.case-linklist .item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 3rem;
	background: url(../img/common/icon_link_wh.svg) no-repeat right 3rem center #262626;
	background-size: 4rem;
	border-radius: 1rem;
}
.case-linklist .img {
	overflow: hidden;
	width: calc(45% - 2rem);
	border-radius: 0.5rem;
}
.case-linklist .img img {
	transition-duration: 0.5s;
}
.case-linklist .info {
	padding-right: 9rem;
	width: calc(50% + 3rem);
}
.case-linklist .head {
    margin-bottom: 2rem;
    line-height: 1.5;
    font-size: 2.4rem;
    font-weight: 500;
}

#case-detail #wrapper {
	padding-top: 9rem;
}
#case-detail #header {
	padding: 0 4rem;
    background: #120B09;
}
#case-detail .header-logo .on {
    opacity: 0;
}
#case-detail #g-navi li a {
    color: #fff;
}
#case-detail .header-links .contact {
    background: #fff;
    color: #111;
}

.case-detail-wrap .detail-style {
	padding: 10rem 19rem;
	background: #262626;
	border-radius: 1rem;
}
.case-detail-wrap h2 {
	margin-bottom: 2rem;
	line-height: 1.5;
	font-size: 2.8rem;
	font-weight: 500;
}
.case-detail-wrap .detail figure {
	overflow: hidden;
	margin: 0 auto 2rem;
	border-radius: 0.5rem;
}
.case-detail-wrap .detail p {
	margin-bottom: 2rem;
}
.case-detail-wrap .access li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
}
.case-detail-wrap .access .th {
	padding: 0.4rem 0;
	width: 9.6rem;
	background: rgba(0,0,0,0.2);
	border: 1px solid #8B8583;
	border-radius: 5rem;
	text-align: center;
	line-height: 1.5;
}
.case-detail-wrap .access .td {
	width: calc(100% - 10.6rem);
}

.case-detail-wrap .case-imgs {
	margin: 3rem 0;
}
.case-imgs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}
.case-imgs li {
	overflow: hidden;
	border-radius: 0.5rem;
}

.case-imgs li img {
    width: 100%;
    height: 165px;
    object-fit: cover;
    border-radius: 1rem;
}

.pageTurn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin: 8rem auto 0;
	height: 4.4rem;
	max-width: 32rem;
}
.pageTurn .prev,
.pageTurn .next {
	display: block;
	position: absolute;
	left: 0;
	width: 4.4rem;
	height: 4.4rem;
	background: url(../img/common/icon_prev_circle.svg) no-repeat center;
	background-size: 100%;
}

.pageTurn a{display: contents;}

.pageTurn .next {
	left: auto;
	right: 0;
	background-image: url(../img/common/icon_next_circle.svg);
}
.pageTurn .list {
	font-weight: 500;
}

.contact-form {
	padding: 8rem 14rem;
	background: #E9E9E9;
	border-radius: 0.5rem;
	color: #000;
}
.contact-form table {
	width: 100%;
}
.contact-form .sign {
	padding: 0 0.9rem;
	border: 1px solid;
	border-radius: 2rem;
	font-size: 1.3rem;
}
.contact-form .any {
	color: #7B7B7B;
}
.contact-form .must {
	color: #D95A33;
}
.contact-form th {
	vertical-align: top;
	padding: 2.2rem 1.4rem 1.1rem 0;
	width: 22.8rem;
	text-align: left;
	font-weight: 500;
}
.contact-form th .sign {
	float: right;	
}
.contact-form td {
	padding: 1.1rem 0;
}
.contact-form input[type=text],
.contact-form textarea {
	padding: 0 1rem;
	width: 100%;
	height: 5rem;
	background: #F3F3F3;
	border-radius: 0.5rem;
	border: 0;
}
.contact-form textarea {
    resize: none;
    padding: 0.5rem 1rem;
    height: 14.4rem;
}
.contact-form input.small {
	width: 16rem;
}
.contact-form td .choices-radio {
	margin: 1rem 0;
}
.choices-radio {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.6rem;
}
.choices-radio label {
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 0 0.4rem;
}
.choices-radio input {
	margin: 0;
	width: 2.7rem;
	height: 2.7rem;
	background: url(../img/common/icon_radio.svg)no-repeat;
	background-size: 100%;
}
.choices-radio input:checked {
	background-image: url(../img/common/icon_radio_checked.svg);
}
.contact-form .cols {
	display: flex;
	gap: 1.4rem;
}
.contact-form .cols li {
	display: flex;
	align-items: center;
	gap: 0 0.8rem;
} 
.contact-form .agree {
	margin-top: 3rem;
	text-align: center;
	font-size: 1.5rem;
}
.contact-form .agree a {
	text-decoration: underline;
	color: #7F7F7F;
	font-weight: 500;
}
.contact-form .agree label {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0 0.6rem;
	margin-top: 2rem;
}
.contact-form .agree input {
	width: 2.4rem;
	height: 2.4rem;
	background: url(../img/common/icon_checkbox.svg)no-repeat;
	background-size: 100%;
}
.contact-form .agree input:checked {
	background-image: url(../img/common/icon_checkbox_checked.svg);
}
.contact-form .btn-link input {
	transition: all 0.5s;
	color: #fff;
	font-size: 1.6rem;
}
.contact-form .btn-link .edit {
	background: #aaa;
}
.contact-form .btn-link input[type=submit] {
	background-color: rgba(0, 0, 0, 0.5);
}
.contact-form .wpcf7-spinner {
	display: block;
	margin: 0 auto;
}

.contact-privacy {
	margin-top: 14rem;
}
.contact-privacy ul {
	margin-top: 3rem;
	border-top: 1px solid #4F4F4F;
}
.contact-privacy li {
	padding-top: 3.4rem;
}
.contact-privacy li .tit {
	margin-bottom: 0.5rem;
	font-size: 2.2rem;
	font-weight: 500;
}
.contact-privacy .contact-box {
	margin-top: 3.4rem;
	padding: 3.5rem 5rem;
	background: #262626;
	text-align: center;
}
.contact-privacy .contact-box .tit {
	margin-bottom: 1rem;
	font-size: 2.2rem;
	font-weight: 500;
}
.contact-privacy .contact-box .tel {
	margin-top: 1rem;
	line-height: 1.2;
}
.contact-privacy .contact-box .tel a {
	display: inline-block;
	padding-left: 3.4rem;
	background: url(../img/common/icon_tel_wh.svg)no-repeat left center;
	background-size: 2.8rem;
	font-size: 2.6rem;
	font-weight: 500;
}

.case-linklist .item .img {
    overflow: hidden;
    height: 335px;
}

.case-linklist .item .img img {
    width: 100%;
    height: 335px;
    object-fit: cover;
    border-radius: 1rem;
    transition: transform 0.3s ease;
}
@media only screen and (max-width : 1024px){
	.case-detail-wrap .detail-style {
		padding: 5rem;
	}
}
/*** hover ***/
@media screen and (min-width: 960px) {
	
	.case-linklist .item:hover {
		background-position: right 2.5rem center;
	}
	.case-linklist .item:hover .img img {
		transform: scale(1.1,1.1);
	}
		
	.pageTurn .list:hover {
		text-decoration: underline;
	}
	.pageTurn .prev:hover,
	.pageTurn .next:hover {
		opacity: 0.7;
	}
	
}


/* shop.html 
-----------------------------------------------------------*/
.shop-partner {
	padding: 5rem 18rem 7rem;
	background: url(../img/shop/bg_partner.jpg)no-repeat center;
	background-size: cover;
}
.shop-partner .btn-link {
    margin-top: 3rem;
}

.shop-technical-support {
	padding: 6rem 2rem 7rem;
	border: 1px solid #8B8583;
	border-radius: 5.5rem;
	text-align: center;
}

.shop-faq {
	padding: 14rem 0 0;
}

.shop-flow {
	padding: 14rem 0;
}
.shop-flow li {
	display: flex;
	align-items: center;
	gap: 0 3rem;
	position: relative;
	padding: 3rem 8rem 3rem 14.8rem;
	margin-bottom: 4rem;
	background: #262626;
	border-radius: 0.5rem;
}
.shop-flow li + li:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 100%;
	transform: translateX(-50%);
	width: 4rem;
	height: 4rem;
	background: url(../img/common/icon_down_ora.svg)no-repeat center;
	background-size: 100%;
}
.shop-flow li .step {
	position: absolute;
	left: 2rem;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
	text-align: center;
	letter-spacing: -0.04em;
	color: #1D1D1D;
	font-style: italic;
	font-size: 10rem;
}
.shop-flow li .step:after {
	content: "STEP";
	display: block;
	letter-spacing: 0;
	font-size: 4rem;
	font-weight: 500;
}
.shop-flow li .icon {
	width: 8.5rem;
}
.shop-flow li .info {
	width: calc(100% - 26.3rem);
}
.shop-flow li .tit {
	margin-bottom: 0.8rem;
	font-size: 2.4rem;
	font-weight: 500;
}


/* product.html 
-----------------------------------------------------------*/
.btn-anchors {
	display: flex;
	justify-content: center;
	gap: 0.8rem;
}
.btn-anchors a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 8.8rem;
	width: 50%;
	background: rgba(0,0,0,0.2);
	border: 1px solid #8B8583;
	border-radius: 5rem;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 500;
}
.btn-anchors .note {
	display: block;
	color: #9A9A9A;
	font-size: 1.5rem;
}

.product-wrap {
	padding: 14rem 0;
}
.product-wrap .top-product + .top-product {
	margin-top: 2rem;
}

.product-list.col2 > li {
	padding: 4rem 5rem;
	width: calc(50% - 1rem);
}
.product-list .head .jap3 {
    font-size: 3.2rem;
    font-weight: 500;
}
.product-list .head .data {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 0.8rem;
	margin-top: 0.4rem;
	line-height: 1.35;
}
.product-list .data .th {
	padding: 0.5rem 1rem;
	width: 13.2rem;
	background: #757575;
	border-radius: 5rem;
	text-align: center;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 500;
}
.product-list .data .td {
	color: #626262;
    font-size: 1.5rem;
    font-weight: 500;
}
.product-list .info {
	margin-top: 1.4rem;
}
.product-list .tit {
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #D95A33;
}
.product-list .info li {
	display: flex;
	align-items: flex-start;
	gap: 0 0.5rem;
	margin-bottom: 0.6rem;
	color: #626262;
}
.product-list .info li .th {
	padding: 0.2rem 1rem;
	min-width: 13rem;
	border-radius: 3rem;
	border: 1px solid #BDBDBD;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 500;
}
.product-list .info li .td {
	margin: 0.1rem 0 0;
}

/* company.html 
-----------------------------------------------------------*/
.company-history {
	margin-bottom: 6rem;
}
.company-history .inner {
	max-width: 92rem;
}
.company-history table {
	width: 100%;
}
.company-history tr {
	border-bottom: 1px solid #373737;
}
.company-history th {
	padding: 2.4rem;
	width: 18.4rem;
	text-align: left;
	font-weight: 400;
}
.company-history td {
	padding: 2.4rem 0;
}

.company-map iframe {
	display: block;
	width: 100%;
	height: 36rem;
}

.company-message {
	padding: 14rem 0;
}
.message-display {
	position: relative;
	z-index: 2;
	padding: 6rem 0;
	margin-bottom: 1rem;
}
.message-display:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: calc(100% - 9rem);
	height: 100%;
	z-index: -1;
	background: #262626;
	border-radius: 0 1rem 1rem 0;
}
.message-display .display {
	display: flex;
	align-items: center;
	gap: 0 5rem;
}
.message-display .display.reverse {
	flex-direction: row-reverse;
}
.message-display .display .img {
	width: calc(50% - 4rem);
	overflow: hidden;
	border-radius: 0.5rem;
}
.message-display .display .info {
	width: calc(50% - 1rem);
	color: #E0E0E0;
}
.message-display .head {
	margin-bottom: 2rem;
	line-height: 1.5;
	color: #fff;
	font-size: 2.8rem;
	font-weight: 500;
}
.message-display .display .end {
	margin-top: 2.4rem;
	text-align: right;
}
.message-display .display .name {
	margin-left: 1.2rem;
	font-size: 2rem;
	font-weight: 500;
}


.choices-radio .wpcf7-list-item {
    display: inline-block;
    margin-right: 15px; 
}

.choices-radio label {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
}

ul li span.wpcf7-form-control-wrap {margin-left: 1rem;}

.wpcf7-tel,
.wpcf7-email {
	padding: 0 1rem;
    width: 100%;
    height: 5rem;
    background: #F3F3F3;
    border-radius: 0.5rem !important;
    border: 0;
}

.agree .wpcf7-list-item-label {display: none;}
.screen-reader-response {display: none;}

.wpcf7-response-output {
	text-align: center;
	padding: 2rem;
	color: #D95A33;
}

.wpcf7-not-valid-tip {
	display: block;
	font-size: 1rem;
	color: #c00;
}

ul#staff-list{
	display: flex;
	justify-content: space-between;
	max-width: 112rem;
	margin: 0 auto;
	flex-wrap: wrap;
}

ul#staff-list li{
	width: 23%;
}

ul#staff-list li p{
	font-size: 16px;
	padding-top: 5px;
}

ul#staff-list li p span{
	font-size: 12px;
	margin-left: 5px;
}


/*---------------------------
	news-single
------------------------------*/
.news-head {
    width: 100%;
    max-width: 114rem;
    margin: 0 auto 5rem;
    padding: 0 7rem;
}
.news-head .news-cate {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-bottom: 0.5rem;
}
.news-cate__item {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    border: .1rem solid #fff;
    border-radius: 2rem;
    padding: .8rem 2rem;
}

.news-head .news-title {
	display: block;
	width: 100%;
    font-size: 3.6rem;
    line-height: 1.778;
    font-weight: bold;
    margin-bottom: 1.5rem;
}

.news-head .news-date {
    font-size: 1.6rem;
    letter-spacing: .1em;
    line-height: 1.5;
}

.news-body {
	background: #fff;
    padding: 8rem 7rem;
    line-height: 2.5;
    color: #333;
    width: 100%;
    max-width: 114rem;
    margin: 0 auto;
}

.news-body h2 {
	font-size: 2.8rem;
	font-weight: bold;
	border-bottom: 3px solid #D95A33;
	padding-bottom: 1rem;
	margin-bottom: 2rem;
}

.news-body h3 {
	font-size: 2.2rem;
	border-left: 8px solid #D95A33;
	padding: 0 2rem;
	margin-bottom: 2rem;
}

.news-body p {
	font-size: 1.6rem;
	margin-bottom: 4rem;
}

.found_txt {
	text-align: center;
	font-size: 1.6rem;
	line-height: 2.4;
	margin-bottom: 3rem;
}
