@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, 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 {
    padding: 0;
    margin: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    border: 0;
    outline: 0;
}

body {
    line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

nav ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: "";
    content: none;
}

a {
    padding: 0;
    margin: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

/* change colours to suit your needs */

ins {
    color: #000;
    text-decoration: none;
    background-color: #ff9;
}

/* change colours to suit your needs */

mark {
    color: #000;
    font-style: italic;
    font-weight: bold;
    background-color: #ff9;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* change border colour to suit your needs */

hr {
    display: block;
    height: 1px;
    padding: 0;
    margin: 1em 0;
    border: 0;
    border-top: 1px solid #ccc;
}

input, select {
    vertical-align: middle;
}

*, *::before, *::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

svg, img {
    max-width: 100%;
    vertical-align: middle;
}

li {
    list-style: none;
}

h1, h2, h3, h4, h5, h6, th, dt {
    font-weight: normal;
}

article, main, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, picture {
    display: block;
}

/*----------------------------------------------------
	レスポンシブ
----------------------------------------------------*/

.hide {
    display: none;
}

.pc {
    display: inline;
}

.pc.block {
    display: block;
}

.sp {
    display: none;
}

.sp.block {
    display: none;
}

@media (max-width: 960px) {
    .sp {
        display: inline;
    }
    .sp.block {
        display: block;
    }
    .pc {
        display: none;
    }
    .pc.block {
        display: none;
    }
}

/*----------------------------------------------------
	フォント
----------------------------------------------------*/

html {
    font-size: 16px;
}

@media (max-width: 560px) {
    html {
        font-size: 5vw;
    }
}

body {
    color: #000;
    font-family: source-han-sans-cjk-ja, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    -webkit-font-smoothing: antialiased;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
}

.serif {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ 明朝", serif;
}

.ff-laski {
    font-family: laski-slab, sans-serif;
    font-style: normal;
    font-weight: 600;
}

/*----------------------------------------------------
	リンク
----------------------------------------------------*/

a {
    color: #000;
    text-decoration: none;
    -webkit-transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out, -webkit-box-shadow .3s ease-out;
}

a .alpha {
    -webkit-transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out, -webkit-box-shadow .3s ease-out;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    a:hover .alpha {
        opacity: .75;
    }
}

.link-text a {
    color: #ef7b51;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .link-text a:hover {
        text-decoration: underline;
    }
}

a.link-text {
    color: #ef7b51;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    a.link-text:hover {
        text-decoration: underline;
    }
}

@media screen and (max-width: 960px), only screen and (max-device-width: 1024px) and (min-device-width: 768px) {
    a, button {
        -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
        -webkit-touch-callout: none;
    }
}

/*----------------------------------------------------
	body
----------------------------------------------------*/

@media (min-width: 961px) {
    body {
        min-width: 1080px;
    }
}

body.no-scroll {
    height: 100vh;
    overflow: hidden;
}

/*----------------------------------------------------
	コンテナ
----------------------------------------------------*/

.container {
    position: relative;
    padding-right: 40px;
    padding-left: 40px;
    margin: 0 auto;
}

@media (min-width: 961px) {
    .container {
        max-width: 1100px;
    }
}

@media (max-width: 960px) {
    .container {
        padding-right: 4.7vw;
        padding-left: 4.7vw;
    }
}

@media (min-width: 961px) {
    .container--l {
        max-width: 1180px;
    }
}

@media (min-width: 961px) {
    .container--xs {
        max-width: 720px;
    }
}

.container-index {
    position: relative;
    padding: 0;
    margin: 0 auto;
}

@media (min-width: 961px) {
    .container-index {
        max-width: 1100px;
    }
}

@media (max-width: 960px) {
    .container-index {
        padding-right: 4.7vw;
        padding-left: 4.7vw;
    }
}

/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/

header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    background-color: #fff;
    box-shadow: 0px 0px 16px -3px rgba(0, 0, 0, 0.6);
}

@media (min-width: 961px) {
    header {
        height: 154px;
    }
}

@media (max-width: 960px) {
    header {
        height: 60px;
    }
}

/*----------------------------------------------------
	header-content
----------------------------------------------------*/

/*----------------------------------------------------
	header-logo
----------------------------------------------------*/

@media (min-width: 961px) {
    .header-content {
        max-width: 1100px;
        margin: 0 auto;
        box-sizing: border-box;
        position: relative;
    }
    .header-logo {
        position: absolute;
        top: 27px;
        left: 0px;
        width: 250px;
    }
}

@media (max-width: 960px) {
    .header-logo {
        width: 190px;
        margin: 14px 0 0 3.7vw;
    }
}

/*----------------------------------------------------
	header-action
----------------------------------------------------*/

.header-action {
    padding: 0;
    margin: 0;
}

.header-action ul{
    -ms-flex-pack: end;
    -webkit-box-pack: end;
    justify-content: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.header-action p {
    text-align: right;
    color: #ef7b51;
    padding: 5px 50px 10px;
    font-size: 14px;
}

.header-action a, .header-action .inner {
    font-size: 14px;
    font-weight: 500;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media (max-width: 960px) {
    .header-action {
        padding: 3vw 0 0;
        margin: 0;
    }
    .header-action ul {
        height: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: start;
    }
    .header-action li:not(:last-child) {
        margin-right: auto !important;
    }
    .header-action a {
        width: 100%;
        height: 6.25vh;
        font-size: 12px;
    }
    .header-action p {
        text-align: right;
        color: #ef7b51;
        padding: 0;
    }    
}

.header-action__contact {
    height: 50px;
    margin-right: 20px;
}
.header-action__contact-sp {
    display: none;
}
.header-action__contact a {
    color: #fff;
    background-color: #ef7b51;
    border-left: 1px solid #ef7b51;
    border-right: 1px solid #ef7b51;
    border-bottom: 1px solid #ef7b51;
    height: 50px;
    width: 140px;
    font-size: 16px;
    border-radius: 0 0 10px 10px;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .header-action__contact a:hover {
        color: #ef7b51;
        background-color: #fff;
    }
}

@media (max-width: 960px) {
    .header-action__contact {
        display: none;
    }
    .header-action__contact-sp {
        display: block;
        height: 13vw;
        margin-left: 2.5vw;
        width: 46vw;
    }
    .header-action__contact-sp a {
        color: #fff;
        background-color: #ef7b51;
        border: 1px solid #fff;
        height: 13vw;
        width: 100%;
        border-radius: 10px;
        font-size: 3.8vw;
    }
}

.header-action__tel {
    /* height: 50px; */
    width: 175px;
    padding-bottom: 0 !important;
    background-color: #f0e7d8;
    border: 1px solid #f0e7d8;
    margin-top: -20px;
    margin-bottom: 10px;
}
.header-action__tel-sp {
    display: none;
}
.header-action__tel a {
    color: #ef7b51 !important;
    height: 100%;
    width: 100%;
    font-size: 16px;
    padding-left: 35px;
    justify-content: left;
    position: relative;
}
.header-action__tel a:after {
    display: none !important;
}

.header-action__tel .icon {
    position: absolute;
    left: 8%;
    top: 23%;
    font-size: 22px;
}

.header-action__tel .inner-tel {
    line-height: 0.90;
    display: table-cell;
    vertical-align: middle;
}

.header-action__tel .sub {
    font-size: 10px;
    vertical-align: top;
}

.header-action__tel .number {
    font-size: 18px;
    letter-spacing: -0.02em;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .header-action__tel:hover {
        background-color: #ef7b51;
    }
    .header-action__tel a:hover {
        color: #fff !important;
    }
}

@media (max-width: 960px) {
    .header-action__tel {
        display: none;
    }
    .header-action__tel-sp {
        display: block;
        height: 13vw;
        width: 46vw;
        margin-right: 2.5vw;
    }
    .header-action__tel-sp a {
        color: #ef7b51;
        background-color: #f0e7d8;
        border: 1px solid #f0e7d8;
        height: 13vw;
        border-radius: 10px;
        padding-left: 8vw;
        justify-content: left;
        position: relative;
    }
    .header-action__tel-sp .icon {
        position: absolute;
        left: 8%;
        top: 26%;
        font-size: 5.0vw;
    }
    .header-action__tel-sp .inner-tel {
        line-height: 0.90;
    }
    .header-action__tel-sp .sub {
        font-size: 2.0vw;
        vertical-align: top;
        width: 100%;
        display: block;
        margin-bottom: 5px;
    }
    .header-action__tel-sp .number {
        font-size: 5.0vw;
        letter-spacing: -0.02em;
    }
}

.header-action__login {
    margin: 0px 10px 0 0;
    width: 140px;
    height: 35px;
}

.header-action__login a {
    color: #5c4b2d;
    background-color: #f0e7d8;
    border: 1px solid #f0e7d8;
    height: 35px;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .header-action__login a:hover {
        color: #f0e7d8;
        background-color: #5c4b2d;
    }
}

@media (max-width: 960px) {
    .header-action__login {
        color: #ef7b51;
        background-color: #fff;
    }
}

@media (max-width: 960px) {
    .header-action__login {
        margin: 0;
        width: 32vw;
        height: 10vw;
    }
    .header-action__login a {
        color: #5c4b2d;
        background-color: #f0e7d8;
        border: 1px solid #f0e7d8;
        height: 10vw;
    }
}

.header-action__regist {
    margin: 0px 10px 0 0;
    width: 140px;
}

.header-action__regist a {
    color: #fff;
    background-color: #ef7b51;
    border: 1px solid #ef7b51;
    height: 35px;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .header-action__regist a:hover {
        color: #ef7b51;
        background-color: #fff;
    }
}

@media (max-width: 960px) {
    .header-action__regist {
        margin: 0;
        width: 32vw;
        height: 10vw;
    }
    .header-action__regist a {
        color: #ef7b51;
        background-color: #FFF;
        border: 1px solid #ef7b51;
        height: 10vw;
    }
}

.header-action__ig {
    margin: 0px 10px 0 0;
    width: 35px;
    height: 35px;
}

.header-action__ig a {
    background-color: #5c4b2d;
    width: 35px;
    height: 35px;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .header-action__ig a:hover {
        opacity: 0.5;
    }
}

@media (max-width: 960px) {
    .header-action__ig {
        margin: 0 3vw !important;
        width: 10vw;
        height: 10vw;
    }
    .header-action__ig a {
        width: 10vw;
        height: 10vw;
    }
}

.header-action__cart {
    margin: 0px 10px 0 0;
    width: 100px;
}

.header-action__cart .inner {
    height: 35px;
    color: #ef7b51;
}

.header-action__cart .inner .icon {
    margin-right: 5px;
}

.header-action__cart .inner .txt {
    margin-right: 2px;
}

.header-action__cart-sp {
    display: none;
}
@media (max-width: 960px) {
    .header-action__cart {
        margin: 3vw auto;
        width: 95vw;
        background: #fff;
    }
    .header-action__cart .inner {
        height: 35px;
        color: #ef7b51;
    }
    .header-action__cart .inner .icon {
        margin-right: 5px;
    }
    .header-action__cart .inner .txt {
        margin-right: 2px;
    }
    .header-action__cart-sp {
        display: block;
        margin: 15px 10px 0 0;
        height: 0px;
        width: 95vw;
    }
}

/*----------------------------------------------------
	ヘッダーナビ
----------------------------------------------------*/

.header-nav__nav a {
    position: relative;
    display: table;
    color: #3c311c;
    font-size: 14px;
    font-weight: bold;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .header-nav__nav a:hover:after {
        left: 0;
        width: 100%;
    }
}

@media (min-width: 961px) {
    .header-nav__nav {
        padding: 36px 0 0px;
        width: 1100px;
        margin: auto;
    }
    .header-nav__nav ul {
        -ms-flex-pack: end;
        -webkit-box-pack: end;
        justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .header-nav__nav li {
        margin-right: 0;
        padding-bottom: 24px;
    }
    .header-nav__nav .current a:after {
        left: 0;
        width: 100%;
    }
    .header-nav__nav a:after {
        position: absolute;
        bottom: -14px;
        left: 50%;
        display: block;
        width: 0;
        height: 4px;
        content: "";
        background-color: #ef7b51;
        -webkit-transition: all .3s ease-out;
        transition: all .3s ease-out;
    }
    .header-nav__search {
        margin: 0px 10px 0 0;
    }
    .header-nav__search .input {
        width: 240px;
        margin-right: 5px;
        display: inline-block;
        vertical-align: top;
        margin-top: 4px;
    }
    .header-nav__search .input input {
        width: 240px;
        border: 1px solid #c9c9c9;
        border-radius: 100px;
        font-size: 14px;
        text-align: center;
        padding: 5px;
        outline: none;
        vertical-align: top;
    }

    /* .form-control, .input .form-control::placeholder {
        font-family: source-han-sans-cjk-ja, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
        font-style: normal;
        font-weight: 400;
        -webkit-font-smoothing: antialiased;

    } */
    ::-webkit-input-placeholder {
        font-family: source-han-sans-cjk-ja, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
      }
      ::-moz-placeholder {
        font-family: source-han-sans-cjk-ja, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
      }
      :-ms-input-placeholder {
        font-family: source-han-sans-cjk-ja, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
      }
    .header-nav__search .checkbox {
        margin-right: 10px;
        display: inline-block;
        line-height: 17.5px;
    }
    .header-nav__search .checkbox label {
        display: inline-block;
        font-size: 13px;
        vertical-align: top;
        cursor: pointer;
    }
    .header-nav__search .checkbox input {
        transform: scale(1.3);
        margin: 4.3px 5px 0;
    }
    .header-nav__search .button {
        display: inline-block;
        vertical-align: top;
    }
    .header-nav__search .button button {
        border: 1px solid #ef7b51;
        background: #ef7b51;
        color: #fff;
        font-weight: bold;
        font-size: 12px;
        padding: 5px 10px;
        height: 35px;
        cursor: pointer;
        transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out, -webkit-box-shadow .3s ease-out;
    }
    .header-nav__search .button button:hover {
        border: 1px solid #ef7b51;
        background: #fff;
        color: #ef7b51;
    }
}

@media (max-width: 960px) {
    .header-nav {
        position: absolute;
        top: 60px;
        left: 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        -ms-flex-pack: end;
        -webkit-box-pack: end;
        justify-content: flex-end;
        display: none;
        width: 100%;
        height: calc(100vh - 60px);
        /*padding: 0 4.7vw;*/
        background-color: #ef7b51;
    }
    .header-nav.open {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-animation: fadeIn .3s;
        animation: fadeIn .3s;
    }
    .header-nav__nav ul {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -ms-flex-pack: justify;
        background: #bd5029;
    }
    .header-nav__nav li {
        padding: 0 0;
        width: 100%;
        border-bottom: 1px solid #fff;
    }
    .header-nav__nav li:nth-child(even) {
        border-right: none;
    }
    .header-nav__nav li a {
        display: block;
        padding: 3vw;
        color: #fff;
        font-size: 3.5vw;
    }
    .header-nav__search {
        width: 100%;
        border-right: none;
        padding: 3vw 3vw 1vw;
        background: #fff;
        margin-bottom: 3vw;
    }
    .header-nav__search .input {
        width: 50%;
        margin-right: 5px;
        display: inline-block;
        vertical-align: top;
    }
    .header-nav__search .input input {
        width: 100%;
        border: 1px solid #c9c9c9;
        border-radius: 100px;
        font-size: 10px;
        text-align: center;
        padding: 2vw;
        outline: none;
        vertical-align: top;
    }
    .header-nav__search .checkbox {
        margin-right: 10px;
        display: inline-block;
        line-height: 1;
        text-align: left;
    }
    .header-nav__search .checkbox label {
        display: inline-block;
        font-size: 2.0vw;
        vertical-align: top;
        cursor: pointer;
    }
    .header-nav__search .checkbox input {
        transform: scale(0.8);
        margin: 0 3px;
    }
    .header-nav__search .button {
        display: inline-block;
        vertical-align: top;
    }
    .header-nav__search .button button {
        border: 1px solid #ef7b51;
        background: #ef7b51;
        color: #fff;
        font-weight: bold;
        font-size: 12px;
        padding: 5px 10px;
        cursor: pointer;
        transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out, -webkit-box-shadow .3s ease-out;
    }
    .header-nav__search .button button:hover {
        border: 1px solid #ef7b51;
        background: #fff;
        color: #ef7b51;
    }
    /*	.header-nav__nav li:after {
		display: block;
		width: 20px;
		height: 2px;
		margin: 4px auto;
		content: "";
		background-color: #ef7b51;
	}
*/
}

/*----------------------------------------------------
	ヘッダー メニュー
----------------------------------------------------*/

@media (max-width: 960px) {
    .header-menu {
        position: absolute;
        top: 15px;
        right: 4.7vw;
        z-index: 2;
        width: 35px;
        height: 35px;
        background-color: #ef7b51;
        cursor: pointer;
    }
    .header-menu div {
        position: relative;
    }
    .header-menu span {
        position: absolute;
        left: 7.5px;
        display: block;
        width: 20px;
        height: 2px;
        background: #fff;
        -webkit-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
    }
    .header-menu span:nth-child(1) {
        top: 9px;
    }
    .header-menu span:nth-child(2) {
        top: 16px;
    }
    .header-menu span:nth-child(3) {
        top: 23px;
    }
    .header-menu.open span:nth-child(1) {
        top: 16px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    .header-menu.open span:nth-child(2) {
        left: 50%;
        width: 0;
    }
    .header-menu.open span:nth-child(3) {
        top: 16px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
}

/*----------------------------------------------------
	main
----------------------------------------------------*/

@media (min-width: 961px) {
    main {
        padding-top: 154px;
    }
}

@media (max-width: 960px) {
    main {
        padding-top: 60px;
    }
}

/*----------------------------------------------------
	フッター
----------------------------------------------------*/

/*----------------------------------------------------
	footer-content
----------------------------------------------------*/

.footer-content {
    color: #000;
    background-color: rgb(240, 231, 216);
}

.footer-content a {
    color: #000;
}

@media (min-width: 961px) {
    .footer-content {
        padding: 35px 0;
    }
    .footer-content__wrap {
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 0 48px;
    }
}

@media (max-width: 960px) {
    .footer-content {
        padding: 30px 0 25px;
    }
}

.footer-content__link-sp {
    -ms-flex-pack: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 12px;
    line-height: 2;
    text-align: center;
}

.footer-content__link-sp li:nth-child(1) {
    width: 100%;
}

.footer-content__link-sp li:nth-child(2):after {
    content: "｜";
}

.footer-content__copyright {
    padding: 10px 48px 0;
    font-size: 10px;
}

/*----------------------------------------------------
	footer-contact
----------------------------------------------------*/

.footer-contact {
    padding: 54px 0 60px;
    background-color: rgba(92, 75, 45, .851);
}

@media (max-width: 960px) {
    .footer-contact {
        padding: 30px 0 40px;
    }
}

.footer-contact__title {
    margin-bottom: 34px;
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: .2em;
    text-align: center;
}

@media (max-width: 960px) {
    .footer-contact__title {
        margin-bottom: 25px;
        font-size: 24px;
    }
}

@media (min-width: 961px) {
    .footer-contact__items {
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

.footer-contact-item__link {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 167px;
    color: #fff;
    background-color: #ef7b51;
    -webkit-box-shadow: 0 10px 20px 0 rgba(153, 152, 153, .3);
    box-shadow: 0 10px 20px 0 rgba(153, 152, 153, .3);
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .footer-contact-item__link:hover {
        -webkit-box-shadow: 0 10px 20px 0 rgba(0, 0, 0, .3);
        box-shadow: 0 10px 20px 0 rgba(0, 0, 0, .3);
    }
}

.footer-contact-item__en {
    font-family: laski-slab, sans-serif;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: .1em;
}

.footer-contact-item__ico {
    font-size: 42px;
    line-height: 1.2;
}

.footer-contact-item__title {
    font-size: 20px;
    font-weight: 600;
}

.footer-contact-item__tel {
    font-size: 32px;
    font-weight: 600;
}

.footer-contact-item__tel .fas {
    margin-right: .25em;
    font-size: 1.3125em;
}

.footer-contact-item__open {
    font-size: 12px;
}

@media (min-width: 961px) {
    .footer-contact-item {
        width: 30%;
    }
    .footer-contact-item__link>*+* {
        margin-top: 6px;
    }
}

@media (max-width: 960px) {
    .footer-contact-item:not(:last-child) {
        margin-bottom: 20px;
    }
    .footer-contact-item__link {
        height: 100%;
    }
    .footer-contact-item__link>*+* {
        margin-top: 6px;
    }
    .footer-contact-item__en {
        display: none;
    }
    .footer-contact-item--flow .footer-contact-item__link, .footer-contact-item--mail .footer-contact-item__link {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        height: 50px;
    }
    .footer-contact-item--flow .footer-contact-item__link .fas, .footer-contact-item--mail .footer-contact-item__link .fas {
        margin-right: .25em;
    }
    .footer-contact-item--tel .footer-contact-item__link {
        height: 109px;
    }
    .footer-contact-item__ico {
        font-size: 20px;
    }
    .footer-contact-item__title {
        font-size: 14px;
    }
    .footer-contact-item__tel {
        font-size: 24px;
    }
    .footer-contact-item__open {
        font-size: 10px;
    }
}

/*----------------------------------------------------
	footer-info
----------------------------------------------------*/

@media (min-width: 961px) {
    .footer-info {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding-top: 12px;
    }
}

.footer-info__logo {
    margin-bottom: 10px;
}

.footer-info__address {
    margin-bottom: 10px;
    font-size: 12px;
    line-height: 2;
}

.footer-info__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: auto;
    font-size: 12px;
}

.footer-info__nav li:not(:last-child):after {
    content: "｜";
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .footer-info__nav a:hover {
        text-decoration: underline;
    }
}

@media (max-width: 960px) {
    .footer-info__logo {
        width: 210px;
    }
    .footer-info__nav {
        display: none;
    }
}

/*----------------------------------------------------
	footer-sitemap
----------------------------------------------------*/

.footer-sitemap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media (min-width: 961px) {
    .footer-sitemap>*+* {
        margin-left: 60px;
    }
}

@media (max-width: 960px) {
    .footer-sitemap {
        -ms-flex-pack: justify;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }
    .footer-sitemap>* {
        width: 50%;
        margin-bottom: 1.8em;
    }
}

.footer-sitemap li {
    font-size: 12px;
    line-height: 2;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .footer-sitemap a:hover {
        text-decoration: underline;
    }
}

/*----------------------------------------------------
	pagetop
----------------------------------------------------*/

.pagetop {
    position: fixed;
    z-index: 900;
}

.pagetop a {
    display: block;
    color: #fff;
    text-align: center;
    background-color: #5c4b2d;
    border-radius: 50%;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .pagetop a:hover {
        opacity: .75;
    }
}

@media (min-width: 961px) {
    .pagetop {
        right: 20px;
        bottom: 20px;
    }
    .pagetop a {
        width: 80px;
        height: 80px;
        font-size: 26px;
        line-height: 72px;
        border: 4px solid #fff;
    }
}

@media (max-width: 960px) {
    .pagetop {
        right: 10px;
        bottom: 16px;
    }
    .pagetop a {
        width: 40px;
        height: 40px;
        font-size: 14px;
        line-height: 36px;
        border: 2px solid #fff;
    }
}

/*----------------------------------------------------
	product-datatable
----------------------------------------------------*/

.product-datatable {
    margin-bottom: 10px;
    /* overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; */
}

.product-datatable table, .product-datatable table a {
    width: 100%;
    color: #7d7d7d;
}

.products-detail .product-datatable table {
    color: #000;
}

.products-detail .product-datatable thead tr {
    border-top: 1px solid #c9c9c9;
    border-bottom: 1px solid #c9c9c9;
}

.product-datatable thead th {
    padding: 1.5em 0.20em;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.45;
    text-align: center;
    vertical-align: top;
    color: #666666;
    background: #eee;
    vertical-align: middle;
}

.product-datatable thead th,
.product-datatable tbody th,
.product-datatable tbody td {
    border: 1px solid #d4d4d4;
}

.products-detail .product-datatable thead th,
.products-detail .product-datatable tbody th,
.products-detail .product-datatable tbody td {
    border: none;
}

.product-datatable tbody {
    font-size: 14px;
}

.product-datatable tbody tr {
    /* border-bottom: 1px solid #c9c9c9; */
}

.product-datatable tbody th {
    font-weight: bold;
    letter-spacing: -0.1em;
    white-space: nowrap;
}

.product-datatable tbody td {
    padding: 1.25em 0.1em;
    text-align: center;
    white-space: nowrap;
}

.product-datatable tbody .label {
    display: inline-block;
    width: 3.5em;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.667;
    text-align: center;
}

.product-datatable tbody td input[type="number"] {
    width: 3.5em;
    font-size: 12px;
}

.product-datatable tbody td .drawing {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
}

.product-datatable tbody td .drawing li {
    width: 46%;
}

.product-datatable tbody td .drawing li a {
    display: block;
    padding: 3px 0.75em;
    font-size: 11px;
    font-weight: bold;
}

.product-datatable tbody td .drawing li.dxf a {
    background: #ffa500;
    color: #5c4b2d;
}

.product-datatable tbody td .drawing li.pdf a {
    background: #eaf0d8;
    color: #5c4b2d;
}

.product-datatable tbody td .cart {
    display: inline-block;
    background: #ef7b51;
    color: #fff;
    font-weight: bold;
    font-size: 12px;
    padding: 0.25em 0.5em;
}

.product-datatable tbody td .cart:hover {
    opacity: 0.5;
}

.product-datatable tbody td .cart .icon {
    margin-right: 5px;
}
.content{
    margin: 0 auto;
    padding: 40px;
}
.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
}
.modal__bg{
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal__content{
    background: #fff;
    left: 50%;
    padding: 40px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 60%;
}
@media (max-width: 960px) {
    .product-datatable thead th {
        padding: .5em 1em;
        font-size: 4.0vw;
    }
    .product-datatable tbody {
        font-size: 4.0vw;
    }
    .product-datatable tbody td {
        padding: 1em 1em;
    }
    .product-datatable tbody .label {
        font-size: 4.0vw;
        width: 6em;
    }
    .product-datatable table {
        width: 100%;
    }
    .product-datatable {
        overflow: auto;
        white-space: nowrap;
    }
    .scroll::-webkit-scrollbar {
        height: 5px;
    }
    .scroll::-webkit-scrollbar-track {
        background: #F1F1F1;
    }
    .scroll::-webkit-scrollbar-thumb {
        background: #BCBCBC;
    }
    .product-datatable tbody td .drawing {
        display: block;
        text-align: center;
    }
    .product-datatable tbody td .drawing li {
        display: inline-block;
        width: 46%;
    }
    .product-datatable tbody td .drawing li a {
        font-size: 4.0vw;
    }
}

.product-datatable__ex {
    margin-bottom: 16px;
    font-size: 14px;
    text-align: right;
}

@media (max-width: 960px) {
    .product-datatable__ex {
        font-size: 4.0vw;
    }
}

/*----------------------------------------------------
	product-deliv
----------------------------------------------------*/

.product-deliv {
    background-color: #eee;
}

.product-deliv__wrap {
    border: 2px solid #ef7b51;
}

.product-deliv__head {
    padding: 25px 25px;
    color: #fff;
    background-color: #ef7b51;
}

.product-deliv__title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: .2em;
}

.product-deliv__title:after {
    display: block;
    width: 40px;
    height: 2px;
    margin-top: 20px;
    content: "";
    background-color: #fff;
}

@media (max-width: 960px) {
    .product-deliv__head {
        padding: 16px 15px;
    }
    .product-deliv__title {
        font-size: 4vw;
    }
    .product-deliv__title:after {
        width: 30px;
        height: 2px;
        margin-top: 5px;
    }
}

.product-deliv__body {
    padding: 20px 30px;
    background-color: #fff;
}

.product-deliv__icons dt .label {
    display: inline-block;
    width: 6.667em;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.667;
    text-align: center;
}

.product-deliv__icons dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.product-deliv__ex li {
    padding-left: 1em;
    line-height: 1.6667;
    text-indent: -1em;
}

@media (min-width: 961px) {
    .product-deliv {
        padding: 60px 0;
    }
    .product-deliv__wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .product-deliv__head {
        width: 244px;
    }
    .product-deliv__body {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .product-deliv__icons {
        width: 550px;
        border-right: 1px solid #c9c9c9;
    }
    .product-deliv__icons dl {
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .product-deliv__icons dl:not(:last-child) {
        margin-bottom: 12px;
    }
    .product-deliv__icons dt {
        margin-right: .5em;
    }
    .product-deliv__icons dd {
        font-size: 14px;
    }
    .product-deliv__ex {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding-left: 30px;
    }
    .product-deliv__ex li {
        font-size: 12px;
    }
}

@media (max-width: 960px) {
    .product-deliv {
        padding: 40px 0;
    }
    .product-deliv__body {
        padding: 16px 15px;
    }
    .product-deliv__icons {
        border-bottom: 1px solid #c9c9c9;
    }
    .product-deliv__icons dl {
        margin-bottom: 12px;
        font-size: 4vw;
    }
    .product-deliv__icons dl .label {
        font-size: 4vw;
    }
    .product-deliv__icons dt {
        margin-bottom: 4px;
    }
    .product-deliv__icons dd {
        font-size: 4vw;
    }
    .product-deliv__ex {
        padding-top: 12px;
    }
    .product-deliv__ex li {
        font-size: 4vw;
    }
}

/*----------------------------------------------------
	product
----------------------------------------------------*/

.product-header__inner {
    background: #fff;
}

.product-header__lead {
    margin-bottom: 1em;
    font-size: 18px;
}

.product-header__spec {
    font-size: 16px;
    line-height: 1.625;
}

@media (min-width: 961px) {
    .product-header {
        /* padding-top: 20px; */
        margin-bottom: 15px;
    }
    .product-header__wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .product-header__pic {
        width: 242px;
        margin-right: 35px;
    }
    .product-header__data {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
    .product-header__title {
        margin-bottom: 35px !important;
    }
    .product-header__inner {
        padding: 38px 40px;
    }
}

@media (max-width: 960px) {
    .product-header {
        margin-bottom: 20px;
    }
    .product-header__pic {
        margin-bottom: 24px;
        text-align: center;
    }
    .product-header__pic img {
        width: 160px;
        height: 160px;
        -o-object-fit: contain;
        object-fit: contain;
    }
    .product-header__title {
        margin-bottom: 20px !important;
    }
    .product-header__inner {
        padding: 12px 16px;
    }
    .product-header__lead {
        font-size: 14px;
    }
    .product-header__spec {
        font-size: 12px;
    }
}

.product-cart {
    margin-bottom: 20px;
    text-align: right;
}

.input-cart {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    -webkit-align-items: flex-end;
    -ms-align-items: flex-end;
    align-items: flex-end;
}

.input-cart input[type="number"] {
    font-size: 1.5em;
    height: 40px;
    margin: 0 0.5em;
}

@media (max-width: 960px) {
    .product-cart {
        margin-bottom: 40px;
    }
    .input-cart {
        width: 80%;
        text-align: center;
        margin: 30px auto 20px auto;
        display: block;
    }
    .input-cart input[type="number"] {
        width: calc(100% - 5em);
    }
}

@media (min-width: 961px) {
    .product-cart {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-items: flex-end;
        -ms-align-items: flex-end;
        align-items: flex-end;
        -webkit-justify-content: flex-end;
        justify-content: flex-end;
        -ms-flex-pack: end;
    }
    .input-cart {
        margin: 0 20px 0 0;
        font-size: 18px;
    font-weight: bold;
    }
    .input-cart input[type="number"] {
        width: 3em;
        text-align: right;
    }
    .product-back {
        margin-bottom: 60px;
    }
}

@media (max-width: 960px) {
    .product-back {
        margin-bottom: 60px;
    }
}

/*----------------------------------------------------
	products
----------------------------------------------------*/

.products-lead {
    margin-bottom: 35px;
    font-size: 18px;
}

.products-back {
    padding-bottom: 60px;
}

/* 20200619-gravity */

/* products-index03 */

#products-index03 .wrap-triangle-right.bg-gray:before {
    height: 350px;
}

#products-index03 .main-titleA {
    margin-bottom: 2.2em;
}

#products-index03 .main-titleA:after {
    content: none;
}

#products-index03 .main-productsC {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px;
    align-items: stretch;
    justify-content: space-around;
}

#products-index03 .main-productsC__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 45%;
    border: 1px solid #d3d3d3;
    padding: 30px 30px 30px 20px;
    background: #fff;
    margin: 0 0 50px 0;
    text-align: left!important;
    height: auto;
    -ms-flex-direction: row;
    flex-direction: row;
    vertical-align: middle;
    align-items: center;
}
.simulation-sectionA .simulation-sectionA__image
#products-index03 .main-productsC__item:nth-child(2n) {
    margin-right: 0;
}

#products-index03 .main-productsC__item figure {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 35%;
    height: 100%;
    padding-right: 5%;
    text-align: center;
    vertical-align: middle;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: center;
}

#products-index03 .main-productsC__item figure img{
    /* height: 160px; */
    max-height: 160px;
    width: auto;
}

#products-index03 .main-productsC__item dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 65%;
    height: 100%;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: space-between;
}

#products-index03 .main-productsC__item dl dt {
    color: #ef7b51;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 10px;
}

#products-index03 .main-productsC__item dl dt span, #products-index03 .main-productsC__item dl dt small {
    font-size: 14px;
}
#products-index03 .main-productsC__item dl dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: space-between;
}
#products-index03 .main-productsC__item dl dd .read {
    font-size: 16px;
    margin-bottom: 30px;
}

#products-index03 .main-productsC__item dl .main-btnA {
    font-size: 14px;
    min-width: 145px;
    height: 40px;
}

@media (max-width: 960px) {
    .products-lead {
        font-size: 4.0vw;
    }
    #products-index03 .main-titleA {
        margin-bottom: 1.2em;
    }
    #products-index03 .main-productsC__item {
        width: 100%;
        padding: 15px;
        margin: 0 0 25px;
    }
    #products-index03 .main-productsC__item:nth-child(2n) {
        margin-right: 0;
    }
    #products-index03 .main-productsC__item figure {
        width: 35%;
    }
    #products-index03 .main-productsC__item dl {
        width: 60%;
    }
    #products-index03 .main-productsC__item dl dt {
        font-size: 4.0vw;
        margin-bottom: 5px;
    }
    #products-index03 .main-productsC__item dl dd {
        font-size: 4.0vw;
    }
    #products-index03 .main-productsC__item dl dd .read {
        margin-bottom: 20px;
        font-size: 4.0vw;
    }
    #products-index03 .main-productsC__item dl .main-btnA {
        font-size: 4.0vw;
    }
}

/* products-detail02 */

.product-header__read {
    color: #ef7b51;
    font-size: 22px;
    line-height: 1.6;
    font-weight: bold;
    margin-bottom: 30px;
}

.product-header__inner p {
    font-size: 14px;
    line-height: 1.8;
}

.container--s {
    max-width: 1000px;
}

.container--s .cont2 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.container--s .cont2 .product-datatable {
    width: 47.5%;
}

.container--s .cont2 .product-datatable table {
    width: 100%;
}

.container--s .cont2 .product-datatable table tbody tr {
    border-bottom: none;
    border-top: 1px solid #c9c9c9;
}

.container--s .cont2 .product-datatable table th {
    text-align: left;
    width: 55%;
    vertical-align: middle;
    height: 11vh;
}

.container--s .cont2 .product-datatable table td {
    text-align: left;
    padding: 0;
    vertical-align: middle;
}

.container--s .cont2 .product-datatable table td span.tag {
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    background: #ef5155;
    display: inline-block;
    text-align: center;
    min-width: 80px;
    line-height: 20px;
}
@media (max-width: 960px) {
    .product-header__read {
        font-size: 20px;
        line-height: 1.4;
        margin-bottom: 15px;
    }
    .container--s .cont2 {
        flex-wrap: wrap;
    }
    .container--s .cont2 .product-datatable {
        width: 100%;
        margin-bottom: 0px;
    }
    .container--s .cont2 .product-datatable table th,
    .container--s .cont2 .product-datatable table td {
        font-size: 4vw;
        white-space: normal;
    }
    .container--s .cont2 .product-datatable table th {
        height: 7vh;
    }
    .container--s .cont2 .product-datatable table td {
        padding: 0.8em 0;
    }
    .container--s .cont2 .product-datatable table td span.tag {
        min-width: 60px;
    }
}

/*----------------------------------------------------
	top-mv
----------------------------------------------------*/

.top-mv {
    height: 670px;
    background: url(../images/mv.png) center center/cover no-repeat;
}

@media (min-width: 961px) {
    .top-mv {
        margin-top: -109px;
    }
}

@media (max-width: 960px) {
    .top-mv {
        margin-top: -60px;
    }
}

/*----------------------------------------------------
	アニメーション
----------------------------------------------------*/

.fadeIn {
    display: none;
}

.fadeIn.show {
    display: block;
    -webkit-animation: fadeIn .6s linear;
    animation: fadeIn .6s linear;
}

.anime {
    opacity: 0;
    visibility: hidden;
}

.anime.opacity {
    opacity: 1;
}

.animated {
    visibility: visible;
}

.fadeIn.animated {
    -webkit-animation: fadeIn .5s forwards;
    animation: fadeIn .5s forwards;
}

.fadeInUp.animated {
    -webkit-animation: fadeInUp .5s forwards;
    animation: fadeInUp .5s forwards;
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@-webkit-keyframes fadeInUp {
    from {
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
        opacity: 0;
    }
    to {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1;
    }
}

@keyframes fadeInUp {
    from {
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
        opacity: 0;
    }
    to {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1;
    }
}

/*----------------------------------------------------
	.breadcrumb
----------------------------------------------------*/

.breadcrumb {
    padding: 1.5em 0 1em;
    /* margin-bottom: 2em; */
    font-size: 16px;
}

.breadcrumb ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    aline-items: center;
}

.breadcrumb li:not(:first-child):before {
    display: inline-block;
    margin: 0 .5em;
    content: ">";
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .breadcrumb a:hover {
        text-decoration: underline;
    }
}

@media (min-width: 961px) {
    .breadcrumb ul {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

@media (max-width: 960px) {
    .breadcrumb {
        margin-bottom: 0;
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: -ms-autohiding-scrollbar;
        font-size: 4.0vw;
    }
}

/*----------------------------------------------------
	フォーム
----------------------------------------------------*/

input[type=submit] {
    -webkit-appearance: none;
}

button {
    -webkit-appearance: none;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
}

/*----------------------------------------------------
	ボタン
----------------------------------------------------*/

.main-btnA {
    position: relative;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    height: 60px;
    min-width: 256px;
    padding: .25em 1em;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25;
    background-color: #ef7b51;
    border: 1px solid #ef7b51;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .main-btnA:hover {
        color: #ef7b51;
        background-color: #fff;
    }
}

@media (max-width: 960px) {
    .main-btnA {
        width: 100%;
        min-height: 40px;
        font-size: 4vw;
    }
}

/* fontawesome 付き　ボタン */

.main-btnA--back .fas {
    position: absolute;
    top: 50%;
    left: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .main-btnA--back:hover .fas {
        -webkit-transform: translate(-.5em, -50%);
        transform: translate(-.5em, -50%);
    }
}

/* 20200619-gravity */

.main-btnA--front .fas {
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .main-btnA--front:hover .fas {
        -webkit-transform: translate(-.5em, -50%);
        transform: translate(-.5em, -50%);
    }
}

/* bg red fontawesome 付き　ボタン */

.main-btnCart {
    position: relative;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    justify-content: flex-end;
    height: 43px;
    min-width: 29%;
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    text-align: center;
    background-color: #ef5155;
    border: 2px solid #ef5155;
    cursor: pointer;
    padding-right: 3.5em;
}

.main-btnCart:before {
    position: absolute;
    top: 50%;
    left: 3.5em;
    content: "\f07a";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* .main-btnCart:after {
    position: absolute;
    top: 50%;
    right: .75em;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
} */

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .main-btnCart:hover {
        color: #ef5155;
        background-color: #fff;
    }
}

@media (max-width: 960px) {
    .main-btnCart:before {
        left: 4em;
    }
    
    .main-btnCart {
        width: 100%;
        height: 55px;
        min-width: 0;
        font-size: 20px;
        padding-right: 4em;
    }
}

.btn-1 {
    width: 30%;
}

.one_third-btn {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #ef7b51;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    border: 2px solid #ef7b51;
    cursor: pointer;
    padding: 1.0em 2.0em;
}

.one_third-btn:hover {
    -webkit-box-shadow: 0 10px 20px 0 rgba(0, 0, 0, .3);
    box-shadow: 0 10px 20px 0 rgba(0, 0, 0, .3);
}

@media (max-width: 960px) {
    .btn-1:first-child {
        margin-top: 2em !important;
    }
    .btn-1 {
        width: 90%;
        margin: 1em auto;
    }
    .one_third-btn {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        height: 50px;
    }
}

/*----------------------------------------------------
	.main-header
----------------------------------------------------*/

.main-header {
    /* position: relative;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; */
    color: #ef7b51;
    background-color: #fff;
    margin: 0;
    text-align: center;
    width: 100%;

}

.main-header__en {
    font-family: laski-slab, sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .1em;
}

.main-header__ja {
    font-size: 34px;
    font-weight: 500;
    letter-spacing: .2em;
}

@media (min-width: 961px) {
    .main-header {
        /* height: 210px; */
        margin: 0 0 2.0em;
    }
}

@media (max-width: 960px) {
    .main-header {
        /* height: 105px; */
    }
    .main-header__en {
        font-size: 3vw;
    }
    .main-header__ja {
        font-size: 5vw;
    }
}

.main-header__product {
    background: url(../images/main-header.jpg) center center/cover no-repeat;
}

.main-header__simulation {
    background: url(../images/simulation/main-header-simulation.jpg) center center/cover no-repeat;
}

.main-header__mailmagazine {
    background: url(../images/mailmagazine/main-header-mailmagazine.jpg) center center/cover no-repeat;
}

/* 20200616-gravity */

.main-header__news {
    background: url("../images/news/main-header-news.jpg") center center/cover no-repeat;
}

.main-header__document {
    background: url("../images/document/main-header-document.jpg") center center/cover no-repeat;
}

.main-header__glossary {
    background: url("../images/document/main-header-glossary.jpg") center center/cover no-repeat;
}

.main-header__catalog {
    background: url("../images/catalog/main-header-catalog.jpg") center center/cover no-repeat;
}

.main-header__login {
    background: url("../images/news/main-header-news.jpg") center center/cover no-repeat;
}

/*----------------------------------------------------
	main-products　一覧01
----------------------------------------------------*/

.main-productsA:after {
    display: table;
    clear: both;
    content: "";
}

.main-productsA__item {
    text-align: center;
    /* height: 265px; */
    height: auto;
    background-color: #f0e5d8;
}

@media (min-width: 961px) {
    .main-productsA {
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: left;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    
    .main-productsA__item {
        /* float: left; */
        width: 210px;
        /* height: 315px; */
        height: auto;
        margin-bottom: 70px;
            position: relative;
    }
    .main-productsA__item:not(:nth-child(4n+1)) {
        margin-left: 53px;
    }
}

.main-productsA__link {
    /*	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	    flex-direction: column;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;*/
    width: 100%;
    height: 100%;
}

.main-productsA__item .main-productsA__wrapper {
    border: 1px solid transparent;
    padding: 20px;
    height: 100%;
    background-color: #f0e7d8;
    display: flex;
    flex-direction: column;
}
/* .main-productsA__item:nth-child(11n+1) .main-productsA__wrapper {
    background-color: #f0e7d8;
}

.main-productsA__item:nth-child(11n+2) .main-productsA__wrapper {
    background-color: #f0e6d8;
}

.main-productsA__item:nth-child(11n+3) .main-productsA__wrapper {
    background-color: #f0e6d8;
}

.main-productsA__item:nth-child(11n+4) .main-productsA__wrapper {
    background-color: #f0e5d8;
}

.main-productsA__item:nth-child(11n+5) .main-productsA__wrapper {
    background-color: #f0e3d8;
}

.main-productsA__item:nth-child(11n+6) .main-productsA__wrapper {
    background-color: #f0e3d8;
}

.main-productsA__item:nth-child(11n+7) .main-productsA__wrapper {
    background-color: #f0e1d8;
}

.main-productsA__item:nth-child(11n+8) .main-productsA__wrapper {
    background-color: #f0e0d8;
}

.main-productsA__item:nth-child(11n+9) .main-productsA__wrapper {
    background-color: #f0dfd8;
}

.main-productsA__item:nth-child(11n+10) .main-productsA__wrapper {
    background-color: #f0ded8;
}

.main-productsA__item:nth-child(11n) .main-productsA__wrapper {
    background-color: #f0ddd8;
} */

.main-productsA__item:hover .main-productsA__wrapper {
    background: #fff;
    -webkit-transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out, -webkit-box-shadow .3s ease-out;
}
.main-productsA__item:hover .main-productsA__wrapper {
    border: solid 1px #f0e7d8;
}
/* .main-productsA__item:nth-child(10n+1):hover .main-productsA__wrapper {
    border: solid 1px #f0e7d8;
}

.main-productsA__item:nth-child(10n+2):hover .main-productsA__wrapper {
    border: solid 1px #f0e6d8;
}

.main-productsA__item:nth-child(10n+3):hover .main-productsA__wrapper {
    border: solid 1px #f0e6d8;
}

.main-productsA__item:nth-child(10n+4):hover .main-productsA__wrapper {
    border: solid 1px #f0e5d8;
}

.main-productsA__item:nth-child(10n+5):hover .main-productsA__wrapper {
    border: solid 1px #f0e3d8;
}

.main-productsA__item:nth-child(10n+6):hover .main-productsA__wrapper {
    border: solid 1px #f0e1d8;
}

.main-productsA__item:nth-child(10n+7):hover .main-productsA__wrapper {
    border: solid 1px #f0e0d8;
}

.main-productsA__item:nth-child(10n+8):hover .main-productsA__wrapper {
    border: solid 1px #f0dfd8;
}

.main-productsA__item:nth-child(10n+9):hover .main-productsA__wrapper {
    border: solid 1px #f0ded8;
}

.main-productsA__item:nth-child(10n):hover .main-productsA__wrapper {
    border: solid 1px #f0ddd8;
} */

.main-productsA__pic {
    background: #fff;
    width: 100%;
    height: 160px;
    max-height: 160px;
    padding: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    align-items: center;
}

.main-productsA__pic img {
    height: 130px;
    max-width: 130px;
    margin: auto;
    -o-object-fit: contain;
    object-fit: contain;
    display: table-cell;
    vertical-align: middle;
}
.main-productsA__name-wrap {
    height: auto;
    width: 100%;
    padding: 0.5em 0;
    margin: 0 0 1em;
    flex-grow: 1;
    display: table;
}
.main-productsA__name {
    /* padding: 1em 0; */
    color: #3c311c;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    height: 100%;
    display: table-cell;
    vertical-align: middle;
}

.main-productsA__txt {
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 100px;
}

@media (max-width: 960px) {
    .main-productsA {
        -ms-flex-pack: justify;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .main-productsA__item .main-productsA__wrapper {
        padding: 15px;
    }
    .main-productsA__item {
        width: 48%;
        margin-bottom: 10vw;
    }
    .main-productsA__link {
        padding: 10px 0;
    }
    .main-productsA__pic {
        /* width: 100%;
        max-width: 100%;
        height: 60%;
        min-height: 60%; */
    }
    .main-productsA__pic img {
        /* width: calc(108vw*2/640*100);
        height: calc(68vw*2/640*100); */
        max-width: 100%;
        /* height: 100%; */
        -o-object-fit: contain;
        object-fit: contain;
    }
    .main-productsA__name {
        font-size: 4vw;
    }
    .main-productsA__txt {
        font-size: 12px;
    }
    .main-productsA__name-wrap {
        /* height: 80px; */
    }
}

.main-productsA__btn {
    position: relative;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    height: 40px;
    padding: .25em 1em;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25;
    background-color: #ef7b51;
    border: 1px solid #ef7b51;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .main-productsA__item:hover .main-productsA__btn {
        color: #ef7b51;
        background-color: #fff;
    }
}

@media (min-width: 961px) {
    .main-productsA__btn {
        bottom: -20px;
        min-width: 145px;
        position: absolute;
        right: 32px;
    }
}

@media (max-width: 960px) {
    .main-productsA__btn {
        width: 100%;
        min-height: 40px;
        font-size: 16px;
        bottom: 40px;
    }
}

/* fontawesome 付き　ボタン */

.main-productsA__btn .fas {
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .main-productsA__item:hover .main-productsA__btn .fas {
        -webkit-transform: translate(.5em, -50%);
        transform: translate(.5em, -50%);
    }
}

/*----------------------------------------------------
	main-products　一覧02
----------------------------------------------------*/
.main-productsB {
    -ms-flex-pack: justify;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.main-productsB:after {
    display: table;
    clear: both;
    content: "";
}

.main-productsB__item {
    text-align: center;
    display: flex;
    flex-direction: column;
}

.main-productsB__name-wrap {
    height: auto;
    width: 100%;
    padding: 1em 0 0;
    flex-grow: 1;
    display: table;
}

@media (min-width: 961px) {
    .main-productsB {
        justify-content: left;
    }
    .main-productsB__item {
        /* float: left; */
        width: 210px;
        height: auto;
        margin-bottom: 40px;
    }
    .main-productsB__item:not(:nth-child(4n+1)) {
        margin-left: 40px;
    }
}

.main-productsB__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
    justify-content: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
}

.main-productsB__item .main-productsB__link {
    background-color: #f0e7d8;
    padding: 20px;
}

/* .main-productsB__item:nth-child(10n+2) .main-productsB__link {
    background-color: #f0e6d8;
}

.main-productsB__item:nth-child(10n+3) .main-productsB__link {
    background-color: #f0e6d8;
}

.main-productsB__item:nth-child(10n+4) .main-productsB__link {
    background-color: #f0e5d8;
}

.main-productsB__item:nth-child(10n+5) .main-productsB__link {
    background-color: #f0e3d8;
}

.main-productsB__item:nth-child(10n+6) .main-productsB__link {
    background-color: #f0e1d8;
}

.main-productsB__item:nth-child(10n+7) .main-productsB__link {
    background-color: #f0e0d8;
}

.main-productsB__item:nth-child(10n+8) .main-productsB__link {
    background-color: #f0dfd8;
}

.main-productsB__item:nth-child(10n+9) .main-productsB__link {
    background-color: #f0ded8;
}

.main-productsB__item:nth-child(10n+10) .main-productsB__link {
    background-color: #f0ddd8;
}

.main-productsB__item:nth-child(11n) .main-productsB__link {
    background-color: #f0ddd8;
} */

.main-productsB__item:hover .main-productsB__link {
    background: #fff;
}

.main-productsB__item:hover .main-productsB__link {
    border: solid 1px #f0e7d8;
}

/* .main-productsB__item:nth-child(10n+2):hover .main-productsB__link {
    border: solid 1px #f0e6d8;
}

.main-productsB__item:nth-child(10n+3):hover .main-productsB__link {
    border: solid 1px #f0e6d8;
}

.main-productsB__item:nth-child(10n+4):hover .main-productsB__link {
    border: solid 1px #f0e5d8;
}

.main-productsB__item:nth-child(10n+5):hover .main-productsB__link {
    border: solid 1px #f0e3d8;
}

.main-productsB__item:nth-child(10n+6):hover .main-productsB__link {
    border: solid 1px #f0e1d8;
}

.main-productsB__item:nth-child(10n+7):hover .main-productsB__link {
    border: solid 1px #f0e0d8;
}

.main-productsB__item:nth-child(10n+8):hover .main-productsB__link {
    border: solid 1px #f0dfd8;
}

.main-productsB__item:nth-child(10n+9):hover .main-productsB__link {
    border: solid 1px #f0ded8;
}

.main-productsB__item:nth-child(10n+10):hover .main-productsB__link {
    border: solid 1px #f0ddd8;
}

.main-productsB__item:nth-child(11n):hover .main-productsB__link {
    border: solid 1px #f0ddd8;
} */

.main-productsB__pic {
    /* margin: 20px auto 0; */
    background: #fff;
    width: 100%;
    height: 160px;
    min-height: 160px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 10px;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
}

.main-productsB__pic img {
    display: inline-block;
    width: auto;
    height: 120px;
    -o-object-fit: contain;
    object-fit: contain;
    margin: auto;
}

.main-productsB__name {
    padding: 20px 0 0;
    color: #3c311c;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2;
    display: table;
    vertical-align: middle;
    height: 30%;
    flex-grow: 1;
}
.main-productsB__name p{
    display: table-cell;
    vertical-align: middle;
    font-size: 18px;
    font-weight: bold;
}
@media (max-width: 960px) {
    .main-productsB__pic {
        margin: 0 auto;
        /* width: calc(108vw*2/640*100);
        height: 20vh; */
    }
    .main-productsB {
        -ms-flex-pack: justify;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .main-productsB__item {
        width: 48%;
        margin-bottom: 4vw;
    }
    .main-productsB__link {
        padding: 15px 0;
    }
    .main-productsB__pic img {
        /* width: calc(108vw*2/640*100);
        height: calc(68vw*2/640*100); */
        -o-object-fit: contain;
        object-fit: contain;
    }
    .main-productsB__name {
        padding: 14px 1em 0;
        font-size: 13.5px;
    }
}

/*----------------------------------------------------
	main-products　一覧03
----------------------------------------------------*/

.main-productsC:after {
    display: table;
    clear: both;
    content: "";
}

.main-productsC__item {
    text-align: center;
}

@media (min-width: 961px) {
    .main-productsC__item {
        float: left;
        width: 170px;
        height: 170px;
        margin-bottom: 50px;
    }
    .main-productsC__item:not(:nth-child(4n+1)) {
        margin-left: 50px;
    }
}

.main-productsC__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
}

.main-productsC__item:nth-child(10n+1) .main-productsC__link {
    background-color: #f0e7d8;
}

.main-productsC__item:nth-child(10n+2) .main-productsC__link {
    background-color: #f0e6d8;
}

.main-productsC__item:nth-child(10n+3) .main-productsC__link {
    background-color: #f0e6d8;
}

.main-productsC__item:nth-child(10n+4) .main-productsC__link {
    background-color: #f0e5d8;
}

.main-productsC__item:nth-child(10n+5) .main-productsC__link {
    background-color: #f0e3d8;
}

.main-productsC__item:nth-child(10n+6) .main-productsC__link {
    background-color: #f0e1d8;
}

.main-productsC__item:nth-child(10n+7) .main-productsC__link {
    background-color: #f0e0d8;
}

.main-productsC__item:nth-child(10n+8) .main-productsC__link {
    background-color: #f0dfd8;
}

.main-productsC__item:nth-child(10n+9) .main-productsC__link {
    background-color: #f0ded8;
}

.main-productsC__item:nth-child(10n+10) .main-productsC__link {
    background-color: #f0ddd8;
}

.main-productsC__item:nth-child(11n) .main-productsC__link {
    background-color: #f0ddd8;
}

.main-productsC__item:hover .main-productsC__link {
    background: #fff;
}

.main-productsC__item:nth-child(10n+1):hover .main-productsC__link {
    border: solid 1px #f0e7d8;
}

.main-productsC__item:nth-child(10n+2):hover .main-productsC__link {
    border: solid 1px #f0e6d8;
}

.main-productsC__item:nth-child(10n+3):hover .main-productsC__link {
    border: solid 1px #f0e6d8;
}

.main-productsC__item:nth-child(10n+4):hover .main-productsC__link {
    border: solid 1px #f0e5d8;
}

.main-productsC__item:nth-child(10n+5):hover .main-productsC__link {
    border: solid 1px #f0e3d8;
}

.main-productsC__item:nth-child(10n+6):hover .main-productsC__link {
    border: solid 1px #f0e1d8;
}

.main-productsC__item:nth-child(10n+7):hover .main-productsC__link {
    border: solid 1px #f0e0d8;
}

.main-productsC__item:nth-child(10n+8):hover .main-productsC__link {
    border: solid 1px #f0dfd8;
}

.main-productsC__item:nth-child(10n+9):hover .main-productsC__link {
    border: solid 1px #f0ded8;
}

.main-productsC__item:nth-child(10n+10):hover .main-productsC__link {
    border: solid 1px #f0ddd8;
}

.main-productsC__item:nth-child(11n):hover .main-productsC__link {
    border: solid 1px #f0ddd8;
}

.main-productsC__pic img {
    width: 108px;
    height: auto;
    -o-object-fit: contain;
    object-fit: contain;
}

.main-productsC__name {
    padding: 16px 1em 0;
    color: #3c311c;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2;
}

@media (max-width: 960px) {
    .main-productsC {
        -ms-flex-pack: justify;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .main-productsC__item {
        width: 48%;
        margin-bottom: 4vw;
    }
    .main-productsC__link {
        padding: 15px 0;
    }
    .main-productsC__pic img {
        width: calc(108vw*2/640*100);
        height: calc(68vw*2/640*100);
        -o-object-fit: contain;
        object-fit: contain;
    }
    .main-productsC__name {
        padding: 14px 1em 0;
        font-size: 14px;
    }
}

/*----------------------------------------------------
	見出し
----------------------------------------------------*/

/* .en オレンジ .ja 茶 :after オレンジ */

.main-titleA {
    margin-bottom: 1em;
}

.main-titleA:after {
    display: block;
    width: 40px;
    height: 2px;
    content: "";
    background-color: #ef7b51;
}

.product-header__title .en {
    margin-bottom: .5em;
    color: #ef7b51;
    font-family: laski-slab, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.375;
    letter-spacing: .1em;
}

.product-header__title .ja {
    margin-bottom: .25em;
    color: #5c4b2d;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.375;
    letter-spacing: .2em;
}

.product-header__title .review {
    margin-bottom: 1em;
}

.product-header__title .review .star {
    color: #ef7b51;
    font-size: 18px;
    margin-right: 10px;
}

@media (max-width: 960px) {
    .main-titleA {
        margin-top: 1em;
    }
    .main-titleA .ja {
        font-size: 4.0vw;
    }
    .product-header__title:after {
        width: 20px;
        height: 2px;
    }
    .product-header__title .en {
        margin-bottom: .5em;
        font-size: 12px;
    }
    .product-header__title .ja {
        margin-bottom: .5em;
        font-size: 4.0vw;
    }
    .product-header__title .review {
        margin-bottom: 1.5em;
        font-size: 3vw;
    }
    .product-header__title .review .star {
        font-size: 4.6vw;
        margin-right: 3vw;
    }
}

/*----------------------------------------------------
	slick
----------------------------------------------------*/

/* Arrows */

.slick-prev, .slick-next {
    position: absolute;
    top: 50%;
    z-index: 10;
    display: block;
    width: 1rem;
    height: 1rem;
    padding: 0;
    color: transparent;
    font-size: 0;
    line-height: 0;
    background: transparent;
    border: none;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    outline: none;
    cursor: pointer;
}

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
    opacity: .25;
}

.slick-prev {
    left: 1rem;
    -webkit-transform: translate(0, -50%) rotate(-135deg);
    transform: translate(0, -50%) rotate(-135deg);
}

.slick-next {
    right: 1rem;
    -webkit-transform: translate(0, -50%) rotate(45deg);
    transform: translate(0, -50%) rotate(45deg);
}

/* Dots */

.slick-dots {
    position: absolute;
    top: 115%;
    left: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transform: translate(-50%, -200%);
    transform: translate(-50%, -200%);
    margin-top: 0;
}

.slick-dots li {
    width: 16px;
    height: 16px;
    font-size: 0;
}

.slick-dots li:not(:last-child) {
    margin-right: 16px;
}

.slick-dots li button {
    display: block;
    width: 16px;
    height: 16px;
    padding: 0;
    font-size: 0;
    line-height: 0;
    background-color: #8a8a8a;
    border: 0;
    border-radius: 100%;
    outline: none;
}

.slick-dots li.slick-active button {
    background-color: #404040 !important;
}

@media (max-width: 960px) {
    .slick-dots {
        margin-top: 20px;
    }
    .slick-dots li {
        width: 10px;
        height: 10px;
    }
    .slick-dots li:not(:last-child) {
        margin-right: 10px;
    }
    .slick-dots li button {
        width: 10px;
        height: 10px;
        border-radius: 100%;
    }
    .slick-dots li.slick-active button {
        background-color: #8a8a8a;
    }
}

/*----------------------------------------------------
	汎用クラス
----------------------------------------------------*/

.fadeIn {
    display: none;
}

.fadeIn.show {
    -webkit-animation: fadeIn .6s linear;
    animation: fadeIn .6s linear;
}

.bold, .strong {
    font-weight: bold !important;
}

.center {
    text-align: center !important;
}

.left {
    text-align: left !important;
}

.right {
    text-align: right !important;
}

.indent {
    padding-left: 1em;
    text-indent: -1em;
}

.indent--2 {
    padding-left: 2em;
    text-indent: -2em;
}

.indent--3 {
    padding-left: 3em;
    text-indent: -3em;
}

.lh18 {
    line-height: 1.8;
}

@media (max-width: 960px) {
    .lh18 {
        line-height: 1.5;
    }
}

.lh2 {
    line-height: 2;
}

@media (max-width: 960px) {
    .lh2 {
        line-height: 1.75;
    }
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb35 {
    margin-bottom: 35px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb45 {
    margin-bottom: 45px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb55 {
    margin-bottom: 55px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.mb65 {
    margin-bottom: 65px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.mb75 {
    margin-bottom: 75px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.mb100 {
    margin-bottom: 100px !important;
}

@media (max-width: 960px) {
    .mb5 {
        margin-bottom: .78125vw !important;
    }
    .mb10 {
        margin-bottom: 1.5625vw !important;
    }
    .mb15 {
        margin-bottom: 2.34375vw !important;
    }
    .mb20 {
        margin-bottom: 3.125vw !important;
    }
    .mb25 {
        margin-bottom: 3.90625vw !important;
    }
    .mb30 {
        margin-bottom: 4.6875vw !important;
    }
    .mb35 {
        margin-bottom: 5.46875vw !important;
    }
    .mb40 {
        margin-bottom: 6.25vw !important;
    }
    .mb45 {
        margin-bottom: 7.03125vw !important;
    }
    .mb50 {
        margin-bottom: 7.8125vw !important;
    }
    .mb55 {
        margin-bottom: 8.59375vw !important;
    }
    .mb60 {
        margin-bottom: 9.375vw !important;
    }
    .mb65 {
        margin-bottom: 10.15625vw !important;
    }
    .mb70 {
        margin-bottom: 10.9375vw !important;
    }
    .mb75 {
        margin-bottom: 11.71875vw !important;
    }
    .mb80 {
        margin-bottom: 12.5vw !important;
    }
    .mb100 {
        margin-bottom: 15.625vw !important;
    }
}

.fz10 {
    font-size: .625em;
}

.fz12 {
    font-size: .75em;
}

.fz13 {
    font-size: .8125em;
}

.fz14 {
    font-size: .875em;
}

.fz15 {
    font-size: .9375em;
}

.fz16 {
    font-size: 1em;
}

.fz17 {
    font-size: 1.0625em;
}

.fz18 {
    font-size: 1.125em;
}

.fz20 {
    font-size: 1.25em;
}

.fz22 {
    font-size: 1.375em;
}

.fz24 {
    font-size: 1.5em;
}

.fz26 {
    font-size: 1.625em;
}

.fz28 {
    font-size: 1.75em;
}

.fz30 {
    font-size: 1.875em;
}

.fz32 {
    font-size: 2em;
}

@media (max-width: 960px) {
    .fz10--sp {
        font-size: .625em;
    }
    .fz12--sp {
        font-size: .75em;
    }
    .fz13--sp {
        font-size: .8125em;
    }
    .fz14--sp {
        font-size: .875em;
    }
    .fz15--sp {
        font-size: .9375em;
    }
    .fz16--sp {
        font-size: 1em;
    }
    .fz17--sp {
        font-size: 1.0625em;
    }
    .fz18--sp {
        font-size: 1.125em;
    }
    .fz20--sp {
        font-size: 1.25em;
    }
    .fz22--sp {
        font-size: 1.375em;
    }
    .fz24--sp {
        font-size: 1.5em;
    }
    .fz26--sp {
        font-size: 1.625em;
    }
    .fz28--sp {
        font-size: 1.75em;
    }
    .fz30--sp {
        font-size: 1.875em;
    }
    .fz32--sp {
        font-size: 2em;
    }
}

.c-color {
    color: #000;
}

.c-orange {
    color: #ef7b51;
}

.c-brown {
    color: #3c311c;
}

.c-red {
    color: #ef5155;
}

.labelA {
    color: #fff;
    background-color: #ef5155;
}

.labelB {
    color: #1e80cd;
    background-color: #c3e5ff;
}

.labelC {
    color: #fff;
    background-color: #b3c442;
}

/* 20200616-gravity */

.t-center {
    text-align: center;
}

.f-orange {
    color: #ef7b51;
}

.f-bold {
    font-weight: bold;
}

.clear {
    clear: both;
}

.bg-gray:before, .wrap-triangle-right.bg-gray:before {
    height: 447px;
}

.subtitle {
    color: #5c4b2d;
    font-size: 28px;
    letter-spacing: 3px;
    line-height: 1.2;
    position: relative;
    clear: both;
    padding-bottom: 20px;
    margin-bottom: 40px;
}

.subtitle:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #ef7b51;
    width: 100px;
    height: 2px;
}

/* tablewrap */

.tablewrap {}

@media (max-width: 960px) {
    .subtitle {
        font-size: 18px;
        padding-bottom: 15px;
        margin-bottom: 30px;
    }
    .subtitle:after {
        bottom: 0;
        width: 50px;
        height: 1px;
    }
    .tablewrap {
        overflow: auto;
        white-space: nowrap;
    }
    .tablewrap::-webkit-scrollbar {
        height: 5px;
    }
    .tablewrap::-webkit-scrollbar-track {
        background: #F1F1F1;
    }
    .tablewrap::-webkit-scrollbar-thumb {
        background: #BCBCBC;
    }
    .tablewrap table {
        width: 100%;
    }
}

/* 20200619-gravity */

.t-right {
    text-align: right;
}

/* width */

.w5 {
    width: 5%;
}

.w10 {
    width: 10%;
}

.w20 {
    width: 20%;
}

.w30 {
    width: 30%;
}

.w40 {
    width: 40%;
}

.w50 {
    width: 50%;
}

.w60 {
    width: 60%;
}

.w70 {
    width: 70%;
}

.w80 {
    width: 80%;
}

.w90 {
    width: 90%;
}

/*----------------------------------------------------
	.wrap-triangle-right
----------------------------------------------------*/

.wrap-triangle-right {
    position: relative;
    max-width: 1100px;
    margin: 0 auto;
}

.bg-gray:before, .wrap-triangle-right.bg-gray:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    content: "";
    background-color: #eee;
    pointer-events: none;
}

#products-index02 .wrap-triangle-right.bg-gray:before {
    height: 345px;
}

#products-detail .wrap-triangle-right.bg-gray:before {
    height: 432px;
}

.wrap-triangle-right:after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    display: inline-block;
    width: 0;
    height: 0;
    content: "";
    border-color: transparent #ef7b51 transparent transparent;
    border-style: solid;
    border-width: 6.17716vw 1100px 10.17716vw 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none;
}
@media (max-width: 960px) {
    .wrap-triangle-right:after {
        border-width: 13.17716vw 76.86676vw 13.17716vw 0;
    }
}
.main-header__product {
    background: url(../images/main-header.jpg) center center/cover no-repeat;
}

/*----------------------------------------------------
	simulation
----------------------------------------------------*/

/* simulation-step__section */

.simulation-step__section {
    margin-bottom: 4em;
}

/* simulation-step-header */

.simulation-step-header {
    margin: 2em 0 1.5em;
    text-align: center;
}

.simulation-step__section .simulation-step-header {
    
}

.simulation-step-header .simulation-step-header__en {
    margin-bottom: 0.5em;
    /* font-family: laski-slab, sans-serif; */
    font-weight: 600;
    letter-spacing: .1em;
    color: #ef7b51;
}

.simulation-step-header .simulation-step-header__en span {
    display: inline-block;
    border-bottom: 1px solid #ef7b51;
}

.simulation-step-header .simulation-step-header__jp {
    color: #5c4b2d;
}

.simulation-step-header .simulation-step-header__attention {
    color: #ff0000;
    font-size: 80%;
}
@media (max-width: 960px) {
    .simulation-step-header .simulation-step-header__en {
        font-size: 5vw;
    }
.simulation-step-header .simulation-step-header__jp {
    font-size: 4vw;
}
}
@media (min-width: 961px) {
    .simulation-step-header .simulation-step-header__en {
        font-size: 32px;
    }
    .simulation-step-header .simulation-step-header__jp {
        font-size: 20px;
    }
}

/* simulation-step-header */

.simulation-step-body {
    position: relative;
}

/*-------- simulation-sectionA ------------------*/

.simulation-sectionA {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    /* -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between; */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.simulation-sectionA .simulation-sectionA__item {
    margin-bottom: 4vw;
    width: 48%;
}

.simulation-sectionA .simulation-sectionA__label {
    display: block;
    /* padding: 24px 18px; */
    text-align: center;
    cursor: pointer;
    transition: .3s ease-in-out;
}

.simulation-sectionA .simulation-sectionA__label--bg1 {
    background: #f0e6d8;
    border: 1px solid #f0e6d8;
}

.simulation-sectionA .simulation-sectionA__label--bg1.on {
    background: #FFF;
    opacity: 0.7;
}

.simulation-sectionA .simulation-sectionA__label--bg2 {
    background: #f0e0d8;
    border: 1px solid #f0e0d8;
}

.simulation-sectionA .simulation-sectionA__label--bg2.on {
    background: #FFF;
    opacity: 0.7;
}

.simulation-sectionA .simulation-sectionA__radio {
    display: none;
}

.simulation-sectionA .simulation-sectionA__image {
    /* display: table;
    margin-bottom: 0.5em; */
}

.simulation-sectionA .simulation-sectionA__image img {
    width: calc(108vw*2/640*100);
    height: calc(68vw*2/640*100);
    -o-object-fit: contain;
    object-fit: contain;
}

.simulation-sectionA .simulation-sectionA__text {
    font-size: 14px;
}
.simulation-sectionA .simulation-sectionA__item a {
    width: 100%;
    height: 100%
}
@media (min-width: 961px) {
    .simulation-sectionA {
        /* display: block;
        overflow: hidden; */
    }
    .simulation-sectionA .simulation-sectionA__item {
        margin-bottom: 60px;
        /* margin-right: 53px; */
        width: 210px;
        height: auto;
        /* float: left; */
    }
    .simulation-sectionA .simulation-sectionA__item a {
        width: 100%;
        height: 100%
    }
    .simulation-sectionA .simulation-sectionA__item:nth-child(4n) {
        margin-right: 0;
    }
    .simulation-sectionA .simulation-sectionA__label {
        /* padding: 30px; */
    }
    .simulation-sectionA .simulation-sectionA__image img {
        width: auto;
        height: auto;
        -o-object-fit: contain;
        object-fit: contain;
        max-height: 168px;
        display: table-cell;
        vertical-align: middle;
    }
    .simulation-sectionA .simulation-sectionA__text {
        font-size: 16px;
    }
    .simulation-sectionA .simulation-sectionA__label--bg1:hover, .simulation-sectionA .simulation-sectionA__label--bg2:hover {
        background: #FFF;
        opacity: 0.7;
    }
}

/*-------- simulation-section02 ------------------*/

.simulation-section02__title {
    /* text-align: center; */
    color: #5c4b2d;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 1em;
}

.simulation-section02__image {
    margin-bottom: 1em;
}

.simulation-section02__image img {
    width: calc(108vw*4/640*100);
    height: calc(68vw*4/640*100);
    -o-object-fit: contain;
    object-fit: contain;
}

@media (min-width: 961px) {
    .simulation-section02__title {
        font-size: 24px;
    }
    .simulation-section02__image {
        margin-bottom: 2em;
    }
    .simulation-section02__image img {
        width: auto;
        height: auto;
    }
}

/*-------- simulation-section02-A ------------------*/

.simulation-section02-A {
    margin: 1em 0;
    background: #f0e7d8;
    padding: 20px;
    text-align: center;
}

.simulation-section02-A .simulation-section02-A__form {
    font-size: 20px;
    text-align: left;
}

.simulation-section02-A__form p {
    margin-bottom: 10px;
}

.simulation-section02-A .simulation-section02-A__form label {
    display: inline-block;
    margin: 0 0.25em 0.25em 0;
    vertical-align: top;
    width: 135px;
    text-align: left;
}

/* .simulation-section02-A .simulation-section02-A__form label:last-child {
    width: 100%;
} */

.simulation-section02-A .simulation-section02-A__form .simulation-section02-A__input {
    display: block;
    margin: 0.25em 0 0;
}

.simulation-section02-A .simulation-section02-A__form .simulation-section02-A__input input {
    border-radius: 4px;
    border: 1px solid #dddddd;
}

@media (min-width: 961px) {
    .simulation-section02-A {
        float: left;
        width: 480px;
        padding: 40px;
        margin: 1em 0 2em;
    }
    .simulation-section02-A .simulation-section02-A__form {
        font-size: 18px;
    }
}

/*-------- simulation-section02-B ------------------*/

.simulation-section02-B {
    margin: 1em 0;
    background: #f0e3d8;
    padding: 20px;
    text-align: center;
}

.simulation-section02-B .simulation-section02-B__form {
    font-size: 14px;
}

.simulation-section02-B__form p {
    margin-bottom: 10px;
}

.simulation-section02-B .simulation-section02-B__form input {
    border-radius: 4px;
    border: 1px solid #dddddd;
    width: 70%;
    text-align: right;
}

.simulation-section02-B .simulation-section02-B__form input[type="text"] {
    width: 30%;
}
@media (max-width: 960px) {
    .simulation-section02-B__form p {
        font-size: 4vw;
    }
}

@media (min-width: 961px) {
    .simulation-section02-B {
        float: right;
        width: 480px;
        padding: 40px;
        margin: 1em 0 2em;
    }
    .simulation-section02-B .simulation-section02-B__form {
        font-size: 18px;
    }
}

/*-------- simulation-section02-C ------------------*/

.simulation-section02-C {
    margin: 1em 0;
    background: #f0ded8;
    padding: 20px;
    width: 100%;
}

.simulation-section02-C .simulation-section02-C__form {
    font-size: 14px;
    text-align: left;
}

.simulation-section02-C .simulation-section02-C__form label {
    display: inline-block;
    margin: 0 0.25em 0.25em 0;
    width: 30%;
}

.simulation-section02-C__form span {
    display: inline-block;
    width: 100%;
    text-align: center;
}

/* .simulation-section02-C .simulation-section02-C__form label:last-child {
    width: 100%;
} */

.simulation-section02-C .simulation-section02-C__form .simulation-section02-C__input {
    display: block;
    margin: 0.25em 0 0;
}

.simulation-section02-C .simulation-section02-C__form .simulation-section02-C__input input {
    border-radius: 4px;
    border: 1px solid #dddddd;
}

.simulation-section02-C__icon,
.simulation-section02-C__text
{
    font-size: 12px;
    text-align: left;
    font-weight: normal;
    color: #000 !important;
}

@media (min-width: 961px) {
    .simulation-section02-C {
        clear: both;
        padding: 30px 50px 30px 60px;
        overflow: hidden;
        text-align: left;
        display: table;
    }
    .simulation-section02-C .simulation-section02-C__title {
        display: table-cell;
        vertical-align: middle;
        /* float: left; */
        width: auto;
        margin-top: 0px;
        margin-bottom: 30px;
        text-align: left;
    }
    .simulation-section02-C__title .plate {
        margin-left: 20%;
        margin-bottom: 0.2em;
        text-align: left;
    }
    .simulation-section02-C .simulation-section02-C__form {
        display: table-cell;
        vertical-align: middle;
        /* float: right; */
        width: 45%;
        font-size: 18px;
        overflow: hidden;
    }
    .simulation-section02-C .simulation-section02-C__form label {
        width: 14.2%;
        float: left;
        margin: 0 0.25em 0.25em 0;
    }
    .simulation-section02-C .simulation-section02-C__form label:last-child {
        width: 55%;
        float: left;
    }
    .simulation-section02-C .simulation-section02-C__form .step_label {
        margin: 0 2.25em 0.25em 0;
    }
    .simulation-section02-C .simulation-section02-C__form .simulation-section02-C__input {
        display: inline-block;
        margin: 0 0 0 10px;
    }
    .simulation-section02-C__text {
        font-size: 14px;
        margin-left: 0px;
    }
    .simulation-section02-C__icon {
        font-size: 12px;
        margin: 0;
    }    
    .simulation-section02-C__leatherMarking{
        margin-left: 30px;
    }
}
/*-------- simulation-section03-A ------------------*/

.simulation-section03-A {}

.simulation-section03-A .simulation-section03-A__title {
    text-align: center;
    color: #5c4b2d;
    font-size: 18px;
    border: 1px solid #dddddd;
    padding: 10px 0;
    margin: 0 0 1em;
}

.simulation-section03-A__list {
    margin-bottom: 1.25em;
}

.simulation-section--checkboxA {}

.simulation-section--checkboxA .simulation-section--checkboxA__item {
    margin-bottom: 0.5em;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item input {
    display: none;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item label {
    display: block;
    padding: 10px;
    overflow: hidden;
    transition: .3s ease-in-out;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item--bg1 label {
    background: #f0e7d8;
    border: 1px solid #f0e7d8;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item--bg2 label {
    background: #f0e3d8;
    border: 1px solid #f0e3d8;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item--bg3 label {
    background: #f0ddd8;
    border: 1px solid #f0ddd8;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item--bg1 label.on {
    background: #FFF;
    border: 1px solid #f0e7d8;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item--bg2 label.on {
    background: #FFF;
    border: 1px solid #f0e3d8;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item--bg3 label.on {
    background: #FFF;
    border: 1px solid #f0ddd8;
}

.simulation-section--checkboxA .simulation-section--checkboxA__image {
    display: block;
    float: left;
    width: 77px;
    height: 79px;
}

.simulation-section--checkboxA .simulation-section--checkboxA__text {
    font-size: 16px;
    padding-left: 15px;
    line-height: 1.4;
    height: 79px;
    display: flex;
    align-items: center;
}

@media (min-width: 961px) {
    .simulation-section03-A {
        overflow: hidden;
    }
    .simulation-section03-A .simulation-section03-A__title {
        float: left;
        width: 208px;
        margin-bottom: 0;
        padding: 0;
        height: 98px;
        line-height: 98px;
        font-size: 22px;
    }
    .simulation-section03-A .simulation-section03-A__list {
        float: right;
        width: 764px;
    }
    .simulation-section--checkboxA {
        overflow: hidden;
    }
    .simulation-section--checkboxA .simulation-section--checkboxA__item {
        width: 234px;
        height: 100px;
        float: left;
        margin-right: 30px;
        font-size: 16px;
    }
    .simulation-section--checkboxA .simulation-section--checkboxA__item:nth-child(3n) {
        margin-right: 0px;
    }
    .simulation-section--checkboxA .simulation-section--checkboxA__item--bg1 label:hover {
        background: #FFF;
        opacity: 0.7;
    }
    .simulation-section--checkboxA .simulation-section--checkboxA__item--bg2 label:hover {
        background: #FFF;
        opacity: 0.7;
    }
    .simulation-section--checkboxA .simulation-section--checkboxA__item--bg3 label:hover {
        background: #FFF;
        opacity: 0.7;
    }
}

/*-------- simulation-section03-B ------------------*/

.simulation-section03-B {
    font-size: 16px;
    text-align: center;
    margin-top: 1.0em;
}

.simulation-section03-B label {
    display: block;
    padding: 20px 0;
    background: #ef7b51;
    color: #FFF;
}

.simulation-section03-B .simulation-section03-B__text {
    display: inline-block;
    font-weight: 600;
}

@media (min-width: 961px) {
    .simulation-section03-B label {
        display: inline-block;
        width: 70%;
    }
}

/*--------simulation-section04-A ------------------*/

.simulation-section04-A {}

.simulation-section04-A .simulation-section04-A__title {
    text-align: center;
    color: #5c4b2d;
    font-size: 18px;
    border: 1px solid #dddddd;
    padding: 10px 0;
    margin: 0 0 1em;
}

@media (min-width: 961px) {
    .simulation-section04-A {
        overflow: hidden;
    }
    .simulation-section04-A .simulation-section04-A__title {
        float: left;
        width: 208px;
        margin-bottom: 0;
        padding: 0;
        height: 98px;
        line-height: 98px;
        font-size: 22px;
    }
    .simulation-section04-A .simulation-section04-A__list {
        float: right;
        width: 764px;
    }
}

/*--------simulation-section--pulldownA ------------------*/

.simulation-section--pulldownA {}

.simulation-section--pulldownA .simulation-section--pulldownA__item {
    margin-bottom: 1.0em;
    font-size: 16px;
    text-align: center;
}

.simulation-section--pulldownA__wrapper {
    padding: 15px;
    margin-bottom: 0.5em;
}

.simulation-section--pulldownA__wrapper--bg1 {
    background: #f0e7d8;
}

.simulation-section--pulldownA__wrapper--bg2 {
    background: #f0e3d8;
}

.simulation-section--pulldownA__wrapper--bg3 {
    background: #f0ddd8;
}

.simulation-section--pulldownA__image {
    margin-bottom: 0.5em;
}

.simulation-section--pulldownA__select select {
    border-radius: 4px;
    width: 100%;
    padding: 5px;
    border: 1px solid #dddddd;
}

@media (min-width: 961px) {
    .simulation-section--pulldownA {
        overflow: hidden;
    }
    .simulation-section--pulldownA .simulation-section--pulldownA__item {
        width: 234px;
        height: 290px;
        float: left;
        margin-right: 30px;
        font-size: 16px;
    }
    .simulation-section--pulldownA .simulation-section--pulldownA__item:nth-child(3n) {
        margin-right: 0px;
    }
    .simulation-section--pulldownA__wrapper {
        padding: 20px;
        margin-bottom: 1em;
    }
    .simulation-section--pulldownA__image {
        margin-bottom: 1em;
    }
}

/*-------- simulation-section03-B ------------------*/

.simulation-section04-B {
    font-size: 16px;
    text-align: center;
    margin-top: 1.0em;
}

.simulation-section04-B label {
    display: block;
    padding: 20px;
    background: #ef7b51;
    color: #FFF;
}

.simulation-section04-B .simulation-section04-B__text {
    display: inline-block;
    font-weight: 600;
}

.simulation-section04-B .simulation-section04-B__text br {
    display: none;
}

@media (min-width: 961px) {
    .simulation-section04-B {
        position: absolute;
        left: 0;
        top: 100px;
        width: 208px;
    }
    .simulation-section04-B label {
        height: 152px;
    }
    .simulation-section04-B .simulation-section04-B__text {
        display: block;
        margin-top: 0.5em;
        font-size: 22px;
    }
    .simulation-section04-B .simulation-section04-B__text br {
        display: block;
    }
}

/*-------- simulation-section05__wrapper ------------------*/

.simulation-section05__wrapper {
    -ms-flex-pack: justify;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

/*-------- simulation-section05-A ------------------*/

.simulation-section05-A {
    width: 48%;
    font-size: 16px;
    padding: 10px 15px 20px;
    margin-bottom: 4vw;
    overflow: hidden;
}

.simulation-section05-A--bg1 {
    background: #f0e7d8;
}

.simulation-section05-A--bg2 {
    background: #f0ddd8;
}

.simulation-section05-A__title {
    text-align: center;
    margin-bottom: 0.5em;
    font-weight: 500;
}

.simulation-section05-A__image {
    text-align: center;
    margin-bottom: 0.5em;
}

.simulation-section05-A__image--left {
    float: left;
    width: 40%;
}

.simulation-section05-A__form--right {
    float: right;
    width: 50%;
}

.simulation-section05-A__image img {
    width: 100%;
    height: 100%;
}

.simulation-section05-A__form label {
    width: 46%;
    display: inline-block;
    font-size: 14px;
    margin-bottom: 0.5em;
}

.simulation-section05-A__form--right label {
    width: 100%;
}

@media (min-width: 961px) {
    .simulation-section05-A {
        width: 21%;
        margin-bottom: 30px;
    }
    .simulation-section05-A__image {
        margin-bottom: 1em;
    }
    .simulation-section05-A__image img {
        width: auto;
        height: auto;
    }
    .simulation-section05-A__form label {
        font-size: 16px;
    }
}

/*-------- simulation-section05-B ------------------*/

.simulation-section05-B {
    font-size: 16px;
    background: #f0ddd8;
    padding: 15px;
    width: 100%;
}

.simulation-section05-B__title {
    text-align: center;
    margin-bottom: 0.5em;
    font-weight: 500;
}

.simulation-section05-B__image {
    float: left;
    width: 26%;
}

.simulation-section05-B__image img {
    width: calc(108vw*2/640*100);
    height: calc(68vw*2/640*100);
    -o-object-fit: contain;
    object-fit: contain;
}

.simulation-section05-B__form {
    float: right;
    width: 71%;
}

.simulation-section05-B__form label {
    width: 48%;
    display: inline-block;
    font-size: 13px;
}

@media (min-width: 961px) {
    .simulation-section05-B {
        width: 47.25%;
        height: 180px;
    }
    .simulation-section05-B__image img {
        width: auto;
        height: auto;
    }
    .simulation-section05-B__form label {
        font-size: 16px;
        margin-bottom: 0.4em;
    }
}

/*-------- simulation-section05-C ------------------*/

.simulation-section05-C {
    font-size: 16px;
    text-align: center;
    margin-top: 1.0em;
    width: 100%;
}

.simulation-section05-C label {
    display: block;
    padding: 20px;
    background: #ef7b51;
    color: #FFF;
}

.simulation-section05-C .simulation-section05-C__text {
    display: inline-block;
    font-weight: 600;
}

.simulation-section05-C .simulation-section05-C__text br {
    display: none;
}

@media (min-width: 961px) {
    .simulation-section05-C {
        width: 47.25%;
        margin-top: 0;
    }
    .simulation-section05-C label {
        height: 180px;
        padding: 50px 0 0;
    }
    .simulation-section05-C .simulation-section05-C__text {
        display: block;
        margin-top: 0.5em;
        font-size: 22px;
    }
    .simulation-section04-B .simulation-section04-B__text br {
        display: block;
    }
}

/*-------- simulation-step-submit ------------------*/

.simulation-step-submit {
    text-align: center;
}

.simulation-step-submit input {
    border: none;
    width: 100%;
    background: #ef5155;
    padding: 10px;
    font-size: 16px;
    font-weight: bold;
    color: #FFF;
    cursor: pointer;
}

@media (min-width: 961px) {
    .simulation-step-submit input {
        border: none;
        width: 60%;
        background: #ef5155;
        padding: 15px;
        font-size: 24px;
        color: #FFF;
        cursor: pointer;
    }
}

/*-------- simulation-results------------------*/

.simulation-results {
    background: #eeeeee;
    padding: 40px 0;
}

.simulation-results--bgn {
    background: none;
}

.simulation-results-wrapper {
    padding-right: 4.7vw;
    padding-left: 4.7vw;
    text-align: center;
}

.simulation-results-input .simulation-results-wrapper {
    padding-right: 0;
    padding-left: 0;
}

.simulation-results-title {
    display: inline-block;
    text-align: center;
    font-size: 22px;
    color: #5c4b2d;
    font-weight: bold;
    position: relative;
    padding-top: 1em;
    margin-bottom: 1.5em;
}

.simulation-results-title:before {
    content: '';
    position: absolute;
    left: 50%;
    top: -0.0em;
    display: inline-block;
    width: 20%;
    height: 4px;
    transform: translateX(-50%);
    background-color: #ef7b51;
}

.simulation-results-titleB {
    display: inline-block;
    text-align: center;
    font-size: 22px;
    color: #5c4b2d;
    font-weight: bold;
    position: relative;
    padding-top: 0em;
    margin-bottom: 2.5em;
}

.simulation-results-titleB:before {
    content: '';
    position: absolute;
    left: 50%;
    top: 2.0em;
    display: inline-block;
    width: 20%;
    height: 2px;
    transform: translateX(-50%);
    background-color: #ef7b51;
}

.simulation-results-image {
    margin-bottom: 1em;
    text-align: center;
}

.simulation-results-image img {
    width: calc(108vw*5/640*100);
    height: calc(68vw*5/640*100);
    -o-object-fit: contain;
    object-fit: contain;
}

.simulation-results-red {
    border: 2px solid #ff0000;
    background: #FFF;
    padding: 10px;
    color: #ff0000;
    font-size: 12px;
    margin-bottom: 2.0em;
    text-align: center;
}

.simulation-results-price {
    text-align: center;
    font-size: 30px;
    color: #5c4b2d;
    border-top: 1px solid #c9c9c9;
    border-bottom: 1px solid #c9c9c9;
    margin-bottom: 0.5em;
    padding: 10px 0;
}

.simulation-results-price span {
    font-size: 14px;
}

.simulation-results-attention {
    font-size: 14px;
    margin-bottom: 1em;
    text-align: left;
}

.simulation-results-attention li {
    text-indent: -1em;
    margin-left: 1em;
}

.simulation-results-contact {
    text-align: center;
    margin-bottom: 1em;
}

.simulation-results-contact a {
    display: block;
    font-weight: bold;
    background: #ef5155;
    color: #FFF;
    padding: 20px 0;
    font-size: 18px;
    position: relative;
}

.simulation-results-contact a .fas {
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .simulation-results-contact a:hover .fas {
        -webkit-transform: translate(.5em, -50%);
        transform: translate(.5em, -50%);
    }
}

.simulation-results-order {
    text-align: center;
    margin: 0 10% 1em;
}

.simulation-results-order a {
    display: block;
    font-weight: bold;
    background: #ef7b51;
    color: #FFF;
    padding: 20px 0;
    font-size: 18px;
    position: relative;
}

.simulation-results-order a .fas {
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .simulation-results-order a:hover .fas {
        -webkit-transform: translate(.5em, -50%);
        transform: translate(.5em, -50%);
    }
}

.simulation-results-body {
    margin-top: 2em;
    text-align: left;
}

.simulation-results-table {}

.simulation-results-table .simulation-results-table__title {
    font-size: 14px;
    margin-bottom: 0.25em;
}

.simulation-results-table table {
    width: 100%;
    font-size: 12px;
    margin-bottom: 1em;
}

.simulation-results-table table th, .simulation-results-table table td {
    padding: 15px 10px;
    text-align: left;
    border-bottom: 1px solid #CCC;
}

.simulation-results-table table tr:last-child th, .simulation-results-table table tr:last-child td {
    border-bottom: none;
}

.simulation-results-table table th {
    background: #ef7b51;
    color: #FFF;
    width: 40%;
}

.simulation-results-table table td {
    background: #FFF;
}

.simulation-results-btn {
    margin-top: 2em;
}

@media (min-width: 961px) {
    .simulation-results {
        padding: 60px 0;
    }
    .simulation-results-input {
        padding: 10px 0 60px;
    }
    .simulation-results-wrapper {
        max-width: 1080px;
        position: relative;
        padding-right: 40px;
        padding-left: 40px;
        margin: 0 auto;
        overflow: hidden;
    }
    .simulation-results-title {
        display: block;
        font-size: 34px;
    }
    .simulation-results-title:before {
        width: 10%;
    }
    .simulation-results-titleB {
        display: block;
        font-size: 34px;
    }
    .simulation-results-titleB:before {
        width: 10%;
    }
    .simulation-results-header {
        float: left;
        width: 40%;
    }
    .simulation-results-input .simulation-results-header {
        width: 35%;
    }
    .simulation-results-body {
        float: right;
        width: 56%;
        margin-top: 0;
    }
    .simulation-results-image img {
        width: auto;
        height: auto;
    }
    .simulation-results-btn {
        float: left;
        width: 40%;
        margin-top: 0;
    }
    .simulation-results-table .simulation-results-table__title {
        font-size: 18px;
    }
    .simulation-results-table table {
        font-size: 14px;
    }
}

/*-------- simulation-results-pdf ------------------*/

.simulation-outer {
    max-width: 100%;
    margin: 0 3em;
    background: #fff;
    border: 1px solid #000;
}

.row {
    padding: 0.5em;
}

.row_underline {
    padding: 0.5em;
    border-bottom: 2px solid #000;
}

.pdf_title {
    display: flex;
    width: 100%;
}

.main_title {
    margin-top: 0.3em;
    position: relative;
    width: 100%;
    letter-spacing: 7px;
    font-size: 2em;
}

.pdf_date {
    position: absolute;
    bottom: -0.5em;
    right: -0.2em;
    letter-spacing: 0px;
    font-size: 0.4em;
}

.pdf_subtitle {
    display: block;
    overflow: hidden;
    margin-top: 10px;
}

.inner_box {
    width: 100%;
    font-size: 20px;
}

.request_info {
    margin-bottom: 10px;
    white-space: nowrap;
}

.inner_box-left {
    float: left;
    font-size: 18px;
}

.inner_box-left p {
    margin-left:  17px;
    margin-bottom: 3px;
}

.inner_box-right {
    float: right;
    width: 290px;
    justify-content: right;
    font-size: 12px;
}

.inner_right {
    margin-bottom: 1em;
    margin-left: auto;
}

.pdf_logo {
    margin: 5px 50px 0 -8px;
}

.pdf_subtitle, .pdf_contents {
    padding: 0 0.7em;
}

.simulation_tb {
    width: 100%;
    font-size: 14.5px;
}

.simulation_tb thead, .simulation_tb tbody, .simulation_tb tr, .simulation_tb th, .simulation_tb td {
    padding: 0.1em 0.4em;
}

.bordered, .bordered thead, .bordered tbody, .bordered tr, .bordered th, .bordered td {
    border: 1px solid #000;
    border-collapse: collapse;
}

.box {
    width: 100%;
    border: 1px solid #000;
    padding: 0.8em;
}

.pdf_subtitle h2, .box h2 {
    font-size: 16.5px;
    margin-bottom: 5px;
}

.box-inner {
    margin: 0.3em auto 1.0em 1.5em;
    border-collapse: collapse;
    font-size: 14.5px;
}

.simu_tb {
    width: 100%;
    border-collapse: collapse;
    margin: 0.3em auto 1.0em 1.5em;
    font-size: 14.5px;
}

.simu_tb tr th:nth-child(1) {
    width: 20px;
    padding: 0 10px;
    text-align: left;
}

.simu_tb th:nth-child(2) {
    text-align: left;
    width: 8em;
}

.simu_tb td {
    padding-right: 1em;
}

.options {
    margin: auto;
    padding: 0;
    width: 100%;
    display: table;
    border-collapse: separate;
    border-spacing: 20px 30px;
}

.option {
    width: 30%;
    margin-bottom: 1.5em;
    display: table-cell;
}

.option h3 {
    font-size: 14.5px;
}

.option li {
    font-size: 13px;
    margin-left: 0.9em;
    margin-bottom: 0.1em;
}

.option li:first-child {
    margin-top: 0.5em;
}

@media (max-width: 960px) {
    .simulation-outer {
        margin: 0;
    }

    .pdf_subtitle {
        display: block;
        margin-top: 10px;
    }
    
    .main_title {
        font-size: 1em;
    }
    .inner_box {
        font-size: 0.8em;
    }
    .inner_box-right {
        width: 30.5em;
        font-size: 0.3em;
        margin-top: 1.5em;
        margin-right: -3em;
    }
    .inner_right {
        margin-bottom: 1em;
        margin-left: auto;
    }
    .simulation_tb, .box-inner, .simu_tb, .option h3 {
        font-size: 0.4em;
    }
    .box h2 {
        font-size: 0.5em;
    }
    .options {
        padding: 0.3em 0.7em;
    }
    .option li {
        font-size: 0.3em;
    }
}

@media print {
    .row {
        width: 100%;
    }
    .pdf_subtitle, .pdf_contents {
        width: auto;
    }
    .inner_box-left {
        width: 310px;
        word-wrap: break-word;
    }
    .inner_box-right {
        width: 250px;
        font-size: 10px;
    }
    .options {
        margin: auto;
        padding: 0 1.5em;
        width: 100%;
        display: block;
    }
    .option {
        width: 30%;
        float: left;
        padding: 0 10px;
    }
    .simu_tb {
        width: 800px;
        border-collapse: collapse;
        margin: 5px 0 17px 26px;
        table-layout: fixed;
        font-size: 17px;
        text-align: left;
    }

    .simu_tb tr th:nth-child(2) {
        width: 110px;
        padding-left: 2px;
        text-align: left;
    }

    .simu_tb td {
        padding-right: 0px;
    }
    .simu_tb tr td:nth-child(3) {
        width: 20px;
        text-align: left;
    }
    .simu_tb tr td:nth-child(4) {
        width: 630px;
        text-align: left;
    }
}

/*-------- btn-next------------------*/

.btn-next {
    margin: 1em 0;
    text-align: center;
}

.btn-next a {
    display: block;
    padding: 20px 0;
    background: #ef7b51;
    color: #FFF;
    font-weight: 600;
}

@media (min-width: 961px) {
    .btn-next {
        margin: 0 0 2em;
        text-align: center;
        font-size: 20px;
    }
    .btn-next a {
        display: inline-block;
        width: 70%;
    }
}

/*-------- simulation-js------------------*/

.input-child {
    display: none;
}

/*-------- simulation-js------------------*/

#simulation-step-02 {
    display: none;
}

#simulation-step-03 {
    display: none;
}

#simulation-step-04 {
    display: none;
}

#simulation-step-05 {
    display: none;
}

/*
#simulation-step-btn {
    display: none;
}*/

#simulation-results {
    display: none;
}

/*-------- br------------------*/

.br-sp {
    display: block;
}

.br-pc {
    display: none;
}

@media (min-width: 961px) {
    .br-sp {
        display: none;
    }
    .br-pc {
        display: block;
    }
}

/*-------- top-mv-main------------------*/

@media (max-width: 960px) {
    body.top {
        overflow-x: hidden;
    }
}

.top-mv-main {
    padding: 150px 0 0 4vw;
    letter-spacing: 7px;
}

.top-mv-main span {
    font-size: 42px;
    font-weight: bold;
    color: #FFF;
    display: inline-block;
    padding: 5px 10px 7px;
    background: #ef7b51;
    margin-bottom: 0.25em;
    line-height: 1;
}

.top-mv-text {
    font-size: 20px;
    padding: 20px 0 0 4vw;
    color: #3c311c;
}

@media (min-width: 961px) {
    .top-mv-main {
        padding: 250px 0 0 8vw;
    }
    .top-mv-main span {
        font-size: 52px;
        padding: 5px 10px 10px 10px;
    }
    .top-mv-main span.n2 {
        margin: 0 0 0 -30px;
        padding: 5px 10px 10px 10px;
    }
    .top-mv-text {
        padding: 20px 0 0 8vw;
    }
}

/*-------- wrap-triangle-left------------------*/

.wrap-triangle-left {
    position: relative;
}

.wrap-triangle-left:after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    display: inline-block;
    width: 0;
    height: 0;
    content: "";
    border-color: transparent transparent transparent #ef7b51;
    border-style: solid;
    border-width: 4vw 0 15vw 60vw;
    -webkit-transform: translateY(10%);
    transform: translateY(10%);
    pointer-events: none;
}

.wrap-triangle-left2 {
    position: relative;
}

.wrap-triangle-left2:after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: inline-block;
    width: 0;
    height: 0;
    content: "";
    border-color: transparent transparent transparent #ef7b51;
    border-style: solid;
    border-width: 60vw 0 35vw 90vw;
    -webkit-transform: translateY(10%);
    transform: translateY(10%);
    pointer-events: none;
}

.wrap-triangle-left2:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: inline-block;
    width: 0;
    height: 0;
    content: "";
    border-color: transparent transparent transparent #ef7b51;
    border-style: solid;
    border-width: 00vw 0 60vw 50vw;
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
    pointer-events: none;
}

@media (min-width: 961px) {
    .wrap-triangle-left:after {
        bottom: -10%;
    }
    .wrap-triangle-left2:after {
        display: none;
    }
    .wrap-triangle-left2:before {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        display: inline-block;
        width: 0;
        height: 0;
        content: "";
        border-color: transparent transparent transparent #ef7b51;
        border-style: solid;
        border-width: 00vw 0 20vw 90vw;
        -webkit-transform: translateY(-10%);
        transform: translateY(-10%);
        pointer-events: none;
    }
}

/*-------- copy-index------------------*/

.copy-index {
    padding: 18vw 5vw 20vw;
    position: relative;
}

.copy-index-main {
    font-weight: 600;
    font-size: 6.8vw;
    color: #5c4b2d;
    margin-bottom: 0.5em;
    letter-spacing: 5px;
}

.copy-index-sub {
    font-size: 4.4vw;
}

.copy-index-bg {
    position: absolute;
    left: 5%;
    top: -5%;
    z-index: -1;
}

.copy-index-bg img {
    width: 100%;
    height: 100%;
}

@media (min-width: 961px) {
    .copy-index {
        padding: 0;
        position: relative;
    }
    .copy-index-main {
        font-size: 30px;
        margin: 40px 0 0 500px;
    }
    .copy-index-bg {
        top: -10%;
        width: 620px;
    }
    .copy-index-sub {
        font-size: 20px;
        margin: 20px 0 110px 500px;
    }
}

/*-------- simulation-index------------------*/

.simulation-index {
    position: relative;
    padding: 2em 0 5em;
    background: rgb(240, 231, 216);
    background: linear-gradient(90deg, rgba(240, 231, 216, 1) 0%, rgba(240, 221, 216, 1) 100%);
}

.simulation-index-image img {
    width: calc(108vw*5.5/640*100);
    height: calc(68vw*5.5/640*100);
    -o-object-fit: contain;
    object-fit: contain;
}

.simulation-index-head {
    margin-left: 28px;
    margin-bottom: 0em;
    line-height: 1;
}

.simulation-index-image {
    margin-top: -3em;
}

.simulation-index-title {
    font-size: 7.2vw;
    letter-spacing: 5px;
    font-weight: bold;
    margin-bottom: 0.5em;
    color: #5c4b2d;
    position: relative;
}

.simulation-index-title span {
    color: #ef7b51;
    position: relative;
    padding-top: 0.2em;
}

.simulation-index-title span::before {
    position: absolute;
    content: "";
    width: 0.2em;
    height: 0.2em;
    border-radius: 50%;
    background-color: #ef7b51;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
}

.simulation-index-flow {
    overflow: hidden;
    margin-bottom: 1em;
}

.simulation-index-flow .simulation-index-flow__item {
    float: left;
    width: 40%;
    position: relative;
    text-align: left;
    box-sizing: content-box;
    background-image: url(../images/arrow_simulation_index.png);
    background-position: top 50% right 8%;
    background-repeat: no-repeat;
    -webkit-background-size: 2.5vw;
    background-size: 2.5vw;
}

@media (max-width: 960px) {
    .simulation-index-flow .simulation-index-flow__item {
        padding: 0 10% 0 0;
    }
}

.simulation-index-flow .simulation-index-flow__item img {
    width: 100%;
}

.simulation-index-btn a {
    display: table-cell;
    color: #FFF;
    background: #ef7b51;
    border: 1px solid #ef7b51;
    font-size: 3.5vw;
    text-align: center;
    /* padding: 15px 0; */
    font-weight: bold;
    position: relative;
    width: 420px;
    vertical-align: middle;
    height: 50px;
}

.simulation-index-btn a .fas {
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

@media (max-width: 960px) {
    .simulation-index-btn a {
        padding: 15px 0;
        width: 100%;
        display: block;
        height: auto;
        font-size: 4vw;
    }
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .simulation-index-btn a:hover {
        color: #ef7b51;
        background-color: #fff;
    }
    .simulation-index-btn a:hover .fas {
        -webkit-transform: translate(.5em, -50%);
        transform: translate(.5em, -50%);
    }
}

@media (min-width: 961px) {
    .simulation-index {
        padding: 38px 20px 35px;
        max-width: 1100px;
        margin: auto;
    }
    .simulation-index-head {
        position: relative;
        margin-left: 28px;
    }
    .simulation-index-body {
        padding-right: 0;
    }
    .simulation-index-image {
        position: absolute;
        margin: 0;
        right: 0;
        top: 0;
        width: 424px;
    }
    .simulation-index-image img {
        width: 100%;
        height: 100%;
    }
    .simulation-index-title {
        margin-left: 28px;
        font-size: 38px;
        padding-right: 470px;
    }
    .simulation-index-btn {
        position: absolute;
        right: 5px;
        top: 380px;
        width: 420px;
    }
    .simulation-index-btn a {
        font-size: 19.56px;
        height: 60px;
    }
    .simulation-index-flow {
        margin: 50px 80px 0;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -ms-flex-pack: justify;
    }
    .simulation-index-flow .simulation-index-flow__item {
        float: left;
        width: 200px;
        padding: 0 27px 0 0;
        background-position: top 50% right 0%;
        background-repeat: no-repeat;
        -webkit-background-size: 12px 25px;
        background-size: 12px 25px;
    }
    .simulation-index-flow .simulation-index-flow__item:nth-child(4) {
        padding: 0;
        background-image: none;
    }
    /*    .simulation-index-flow .simulation-index-flow__item:nth-child(2) {
        padding: 0 20px 0 4px;
        background-image: url(../images/arrow_simulation_index.png);
    }
    .simulation-index-flow .simulation-index-flow__item:nth-child(3) {
        padding: 0 20px 0 4px;
        background-position: top 50% right 0%;
    }
    .simulation-index-flow .simulation-index-flow__item:nth-child(4) {
        padding: 0 20px 0 4px;
        background-position: top 50% right 0%;
        background-image: none;
    }
*/
}

@media (max-width: 960px) {
    .simulation-index-flow .simulation-index-flow__item:nth-child(2) {
        padding: 0 10% 0 0;
        background-image: none;
    }
    .simulation-index-flow .simulation-index-flow__item:nth-child(3) {
        padding: 0 0 0 10%;
        background-position: top 50% left 8%;
    }
    .simulation-index-flow .simulation-index-flow__item:nth-child(4) {
        padding: 0 0 0 10%;
        background-position: top 50% left 8%;
    }
}

/*-------- input ------------------*/

input[type="radio"] {
    transform: scale(1.6);
    vertical-align: middle;
    margin: 0 5px 0 0;
    position: relative;
    top: -2px;
}

input[type="checkbox"] {
    transform: scale(1.25);
    vertical-align: top;
    margin: 5px 5px 0;
}

/*-------- simulation-index------------------*/

.text-index-en {
    color: #ef7b51;
    margin-bottom: 0.5em;
    font-size: 4.0vw;
    font-family: laski-slab, sans-serif;
    font-weight: 600;
    letter-spacing: 3px;
}

.text-index-en--fc1 {
    color: #FFF;
}

.text-index-en--center {
    text-align: center;
}

.text-index-jp {
    color: #5c4b2d;
    margin-bottom: 1.5em;
    font-size: 5.5vw;
    letter-spacing: 5px;
    font-weight: 500;
    position: relative;
}

.text-index-jp--fc1 {
    color: #FFF;
}

.text-index-jp--center {
    text-align: center;
}

.text-index-jp:after {
    position: absolute;
    content: " ";
    height: 2px;
    width: 20%;
    background: #ef7b51;
    left: 0;
    bottom: -0.75em;
}

.text-index-jp--fc1:after {
    background: #FFF;
}

.text-index-jp--center:after {
    left: 45%;
    width: 10%;
}

.text-index-1 {
    font-size: 4.0vw;
    line-height: 2.0;
    margin-bottom: 1em;
}

@media (min-width: 961px) {
    .text-index-en {
        font-size: 16px;
    }
    .text-index-jp {
        font-size: 34px;
        margin-bottom: 1.50em;
    }
    .text-index-jp:after {
        min-width: 1.5em;
        width: 5%;
    }
    .text-index-jp--center:after {
        left: 47.5%;
    }
    .text-index-1 {
        font-size: 18px;
        padding-right: 500px;
        margin-left: 28px;
    }
}

/*-------- special-order-index------------------*/

.btn-index-1 {
    text-align: right;
    display: table;
    width: 100%;
}

.btn-index-1 a {
    display: inline-block;
    width: 65%;
    color: #FFF;
    background-color: #ef7b51;
    border: 1px solid #ef7b51;
    font-size: 4.0vw;
    text-align: center;
    padding: 10px 0;
    font-weight: bold;
    position: relative;
}

.btn-index-1--wide a {
    width: 90%;
}

.btn-index-1--full a {
    width: 100%;
}

.btn-index-1 a .fas {
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .btn-index-1 a:hover {
        color: #ef7b51;
        background-color: #fff;
    }
    .btn-index-1 a:hover .fas {
        -webkit-transform: translate(.5em, -50%);
        transform: translate(.5em, -50%);
    }
}

@media (min-width: 961px) {
    .btn-index-1 a {
        font-size: 18px;
        width: 186px;
        height: 46px;
    }
}

/*-------- special-order-index------------------*/

.special-order-index {
    margin: -3em 0 24vw;
    position: relative;
    z-index: 10;
    text-align: right;
}

.special-order-index-head {
    background: #FFF;
    padding: 15vw 10vw;
    width: 85vw;
    height: 76vw;
    box-shadow: 0px 0px 6px 3px rgba(153, 152, 153, 0.3);
    display: inline-block;
    text-align: left;
}

.special-order-index-body {
    position: absolute;
    right: 0vw;
    top: 4.7vw;
    margin-left: 15vw;
    text-align: left;
}

.special-order-index-body .text-index-1 {
    font-size: 4.0vw;
}

@media (min-width: 961px) {
    .special-order-index {
        margin: -3em 0 90px;
    }
    .special-order-index-head {
        display: none;
    }
    .special-order-index-body {
        position: relative;
        background: #FFF;
        box-shadow: 0px 0px 6px 3px rgba(153, 152, 153, 0.3);
        top: 0;
        margin: 0 0 0 37%;
        padding: 40px 0 40px 40px;
        overflow: hidden;
    }
    .special-order-index-body .text-index-jp {
        font-size: 28px;
    }
    .special-order-index-body-wrapper {
        overflow: hidden;
        width: 650px;
    }
    .special-order-index-body-wrapper .text-index-1 {
        padding-right: 0;
        font-size: 16px;
        float: left;
        width: 400px;
    }
}

@media (min-width: 1100px) {}

/*-------- special-order-index------------------*/

.btn-header {
    overflow: hidden;
    position: relative;
}

.btn-header-left {
    width: 38%;
}

.btn-header-right {
    position: absolute;
    right: 0;
    bottom: 1.5em;
    width: 60%;
}

@media (min-width: 961px) {
    .btn-header-left {
        width: 100%;
    }
    .btn-header-right {
        position: relative;
        width: 100%;
        bottom: 0;
    }
    .btn-header-right .btn-index-1 {
        text-align: left;
        margin-top: 4em;
    }
}

/*-------- product-index------------------*/

.product-index {
    margin-bottom: 10vw;
}

@media (min-width: 961px) {
    .product-index {
        margin-bottom: 4em;
    }
}

/*-------- pickup-index------------------*/

.pickup-index {
    padding: 10vw 0;
    background: #f0e7d8;
}

@media (min-width: 961px) {
    .pickup-index {
        padding: 60px 0;
    }
}

/*-------- slide-indexA------------------*/

.slide-indexA {
    padding: 0.5em 5% 0;
}

.slide-indexA__item {
    background: #FFF;
    padding: 7vw;
}

.slide-indexA__image {
    margin-bottom: 0.5em;
    text-align: center;
}

.slide-indexA__image img {
    width: calc(108vw*2.25/640*100);
    height: calc(68vw*2.25/640*100);
    -o-object-fit: contain;
    object-fit: contain;
    display: inline-block !important;
}

.slide-indexA__title {
    font-size: 16px;
    color: #ef7b51;
    font-weight: bold;
    margin-bottom: 0.5em;
    text-align: center;
}

.slide-indexA__title span {
    font-size: 60%;
}

.slide-indexA__text {
    font-size: 14px;
    line-height: 1.8;
    min-height: 5.4em;
}

@media (min-width: 961px) {
    .slide-index {
        max-width: 1100px;
        margin: 0 auto;
    }
    .slide-indexA {
        padding: 20px 20px 0;
    }
    .slide-indexA__item {
        padding: 30px 20px;
        margin: 0 20px;
    }
    .slide-indexA__image {
        margin-bottom: 20px;
    }
    .slide-indexA__image img {
        width: 146px;
        height: calc(68vw*0.65/640*100);
        -o-object-fit: contain;
        object-fit: contain;
    }
}

/*-------- news-index------------------*/

.news-index {
    padding: 10vw 0 40vw;
    background-image: url(../images/bg_news.jpg);
    background-repeat: no-repeat;
    background-position: center bottom;
    -webkit-background-size: 120%;
    background-size: 120%;
}

@media (min-width: 961px) {
    .news-index {
        padding: 90px 0 32vw;
        -webkit-background-size: 100%;
        background-size: 100%;
    }
}

/*-------- news-list------------------*/

.news-list {}

.news-list__single {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #C9C9C9;
    font-size: 14px;
}

.news-list__single:last-child {
    border-bottom: none;
}

.news-list__single a {
    display: block;
}

.news-list-date {
    font-weight: bold;
}

@media (min-width: 961px) {
    .news-list__single {
        font-size: 16px;
        overflow: hidden;
    }
    .news-list__single a:hover {
        color: #ef7c50;
    }
    .news-list-date {
        float: left;
        width: 15%;
    }
    .news-list-title {
        float: right;
        width: 85%;
    }
}

/*-------- link-index------------------*/

.link-index {
    /* padding: 350px 0 0;
    background-image: url(../images/bg_news.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    -webkit-background-size: 120%;
    background-size: 120%; */
    margin: 0 0 50px;
}

.link-index-inner {
    padding: 20px 0 40px;
    background: #fff;
}

.link-index .list-indexA {
    margin-bottom: 0;
}

.link-index .list-indexA li {
    margin-bottom: 0;
}

@media (max-width: 960px) {
    .link-index {
        padding: 0;
        background-size: contain;
        margin: 0;
    }
    .link-index-inner {
        padding: 1em 0;
    }
    .link-index .list-indexA li {
        margin: 1em 0;
    }
}

@media (max-width: 500px) {}

/*-------- link-index------------------*/

.list-indexA {
    -ms-flex-pack: justify;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 4vw;
}

.list-indexA .list-indexA__single {
    width: 48%;
    margin-bottom: 4vw;
    font-size: 14px;
    text-align: center;
}

.list-indexA .list-indexA__single a {
    display: block;
    border: 2px solid #ef7b51;
    color: #ef7b51;
    font-weight: 500;
    background: #FFF;
    padding: 15px 0;
    position: relative;
}

.list-indexA .list-indexA__single a .fa-chevron-right {
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

.list-indexA .list-indexA__single a span {
    margin-left: -1em;
    display: inline-block;
}

@media (min-width: 961px) {
    .list-indexA {
        margin-bottom: 1em;
    }
    .list-indexA .list-indexA__single {
        width: 245px;
        height: 65px;
        font-weight: 500;
        margin-bottom: 1em;
        font-size: 18px;
    }
    .list-indexA .list-indexA__single a:hover {
        color: #fff;
        background-color: #ef7b51;
    }
    .list-indexA .list-indexA__single a:hover .fa-chevron-right {
        -webkit-transform: translate(.5em, -50%);
        transform: translate(.5em, -50%);
    }
}

/*-------- catalog-index------------------*/

.text-index-01 {
    margin-bottom: 1.5em;
    font-size: 16px;
}

/*-------- catalog-index------------------*/

.catalog-index {
    border: 2px solid #ef7b51;
    margin: 50px 0 50px;
}

.catalog-index-header {
    background: #ef7b51;
    padding: 5vw 5vw 1vw;
}

.catalog-index-body {
    background: #FFF;
    padding: 5vw;
}

.catalog-index-text {
    font-size: 16px;
    margin-bottom: 1em;
}

@media (min-width: 961px) {
    .catalog-index {
        -ms-flex-pack: justify;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .catalog-index-header {
        padding: 30px 0 10px 40px;
        width: 37%;
    }
    .catalog-index-header .text-index-jp {
        font-size: 28px;
    }
    .catalog-index-header .btn-index-1 {
        text-align: left;
        width: auto;
    }
    .catalog-index-header .btn-index-1 a {
        background: #fff;
        color: #ef7b51;
        width: 220px;
    }
    .catalog-index-header .btn-index-1 a:hover {
        opacity: 0.5;
    }
    .catalog-index-body {
        padding: 2em;
        width: 63%;
    }
    .catalog-index-body .catalog-index-text {
        float: left;
        margin-bottom: 0;
        width: 60%;
    }
    .catalog-index-body .catalog-index-btn {
        float: right;
        width: 36%;
    }
}

@media (max-width: 961px) {
    .catalog-index {
        margin: 2em 0;
        -ms-flex-pack: justify;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .catalog-index-header {
        padding: 5vw;
        width: 100%;
    }
    .catalog-index-header .text-index-jp {
        font-size: 5.0vw;
    }
    .catalog-index-header .btn-index-1 {
        text-align: left;
        width: 70%;
    }
    .catalog-index-header .btn-index-1 a {
        background: #fff;
        color: #ef7b51;
        width: 200px;
        height: 50px;
        margin-top: 1em;
    }
    .catalog-index-body {
        padding: 5vw;
        width: 100%;
    }
}

/*-------- catalog-index------------------*/

.box-gradA {
    position: relative;
    /* padding: 15vw 0; */
    padding: 0 0 2em;
    overflow: hidden;
}
.box-gradA:last-of-type {
    padding: 0;
}

.box-gradA-inner {
    margin: 0 8.0vw;
}

.box-gradA-bg, .box-gradA-bg01 {
    padding: 16vw 0 8vw;
    background: rgb(240, 231, 216);
    background: linear-gradient(90deg, rgba(240, 231, 216, 1) 0%, rgba(240, 221, 216, 1) 100%);
}
.box-gradA-bg02 {
    padding: 16vw 0 8vw;
    background: rgb(240, 231, 216);
    background: linear-gradient(90deg, rgba(238, 238, 238, 1) 0%, rgba(240, 231, 216, 1) 100%);
}

.box-gradA-bg--left {
    background: linear-gradient(90deg, rgba(238, 238, 238, 1) 0%, rgba(240, 231, 216, 1) 100%);
}

.box-gradA-image, .box-gradA-image01, .box-gradA-image02 {
    position: absolute;
    right: 0;
    top: -8vw;
    width: 80%;
}

.box-gradA-image--left {
    right: auto;
    left: 0;
}
.box-gradA-bg01 .box-gradA-body ul, .box-gradA-bg02 .box-gradA-body ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 8.0vw;
}
.box-gradA-bg02 .box-gradA-body ul {
    margin: 8.0vw;
}
.box-gradA-bg01 .box-gradA-body li {
    width: 33.3333%;
    padding: 5px;
}
.box-gradA-bg01 .box-gradA-body li img {
    width: 100%;
    max-width: 100%;
    height: auto;
}
.box-gradA-bg01 .box-gradA-body li .btn-index-1 a {
    width: 100%;
    padding: 5px 0;
    font-size: 10px;
}
.box-gradA-bg01 .box-gradA-body li .btn-index-1 a .fas {
    right: 1em;
}

@media (max-width: 960px) {
    .box-gradA-bg01 .box-gradA-body ul, .box-gradA-bg02 .box-gradA-body ul {
        display: block;
    }

    .box-gradA-bg01 .box-gradA-body li img {
        margin-bottom: 0;
    }
    .box-gradA-bg01 .box-gradA-body li {
        width: 100%;
        padding: 5px;
        margin-bottom: 1em;
        text-align: center;
    }
    .box-gradA-bg01 .box-gradA-body li .btn-index-1 a {
        font-size: 4vw;
    }
    .box-gradA-bg02 .box-gradA-body li {
        text-align: center;
        margin-bottom: 3em;
    }

}

@media (min-width: 961px) {
    .box-gradA {
        background: none;
        max-width: 1100px;
        position: relative;
        padding: 38px 0 0;
        margin: 0 auto;
        overflow: visible;
    }
    .box-gradA-bg {
        padding: 0;
        width: 374px;
        background: none;
    }
    .box-gradA-bg01, .box-gradA-bg02 {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        padding: 0;
        background: none;
    }
    .box-gradA-bg01 .box-gradA-header, .box-gradA-bg02 .box-gradA-header {
        width: 37%;
    }
    .box-gradA-bg01 .box-gradA-body, .box-gradA-bg02 .box-gradA-body {
        width: 63%;
    }
    .box-gradA-bg01 .box-gradA-body ul, .box-gradA-bg02 .box-gradA-body ul {
        width: 100%;
        margin: 0;
    }    
    .box-gradA-bg02 .box-gradA-body ul {
        margin: auto;
        height: 100%;
    }
    .box-gradA-bg02 .box-gradA-body li {
        margin: auto;
    }
    .box-gradA-bg02 .box-gradA-body li:not(:last-child) {
        margin-right: 5px;
    }
    .box-gradA-bg02 .box-gradA-body li img {
        margin: auto;
        width: 100%;
    }
    .box-gradA-bg01 .box-gradA-body li .btn-index-1 {
        text-align: center;
        margin-top: 10px;
    }
    .box-gradA-bg02 .box-gradA-header .btn-index-1 {
        text-align: left;
    }
    .box-gradA-bg .text-index-01 {
        line-height: 1.8;
    }
    .box-gradA-bg .btn-index-1 {
        text-align: left;
    }
    .box-gradA-bg--left {
        float: right;
    }
    .box-gradA-inner {
        margin: 0 0 0 28px;
    }
    .box-gradA-image, .box-gradA-image01, .box-gradA-image02 {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        height: 290px;
        width: 590px;
        margin-right: 20px;
    }
    .box-gradA-image--left {
        position: absolute;
        left: 0;
        right: auto;
        top: 50%;
        transform: translateY(-50%);
        height: 340px;
        width: 55%;
    }
    .box-gradA-bg01 .box-gradA-body li .btn-index-1 a {
        padding: 10px 0;
        font-size: 18px;
    }
    .box-gradA-bg01 .box-gradA-body li .btn-index-1 a .fas {
        right: 1em;
    }
    
}

/*-------- instagram-index ------------------*/

.instagram-index {
    margin: 10vw 0 15vw;
}

.list-instagram {
    -ms-flex-pack: justify;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 4vw;
}

.list-instagram__single {
    width: 46%;
    margin-bottom: 8%;
}

.list-instagram__single:last-child {
    display: none;
}

.list-instagram__single img {
    width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

@media (min-width: 961px) {
    .instagram-index {
        margin: 60px 0 90px;
    }
    .list-instagram {
        margin: 4em 0 0;
    }
    .list-instagram__single {
        width: 18%;
        margin-bottom: 2em;
    }
    .list-instagram__single:last-child {
        display: block;
    }
}

/*-------- catalog-index------------------*/

@media (min-width: 961px) {
    .box-pcA {
        overflow: hidden;
    }
    .box-pcA-left {
        width: 190px;
        float: left;
    }
    .box-pcA-right {
        width: 830px;
        float: right;
    }
}

/*-------- box-gradA-wrapper------------------*/

@media (min-width: 961px) {
    .box-gradA-image--sp {
        display: none;
    }
    .box-gradA-image, .box-gradA-image01 {
        background-image: url(../images/img_company_index.jpg);
        background-repeat: no-repeat;
        -webkit-background-size: cover;
        background-size: cover;
        background-position: center left;
    }
    .box-gradA-image--left, .box-gradA-image02 {
        background-image: url(../images/img_recruit_index.jpg);
        background-repeat: no-repeat;
        -webkit-background-size: cover;
        background-size: cover;
        background-position: center left;
    }
    .box-gradA-wrapper, .box-gradA-wrapper01 {
        overflow: hidden;
        padding: 30px 20px 38px;
        background: rgb(240, 231, 216);
        /* background: linear-gradient(-90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 35%, rgba(240, 221, 216, 1) 35%, rgba(240, 231, 216, 1) 100%); */
        position: relative;
        max-width: 1100px;
        margin: 0 auto 50px;
    }
    .box-gradA-wrapper02 {
        overflow: hidden;
        padding: 0px 20px 38px;
        background: rgb(238, 238, 238, 1);
        /* background: linear-gradient(-90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 35%, rgba(240, 221, 216, 1) 35%, rgba(240, 231, 216, 1) 100%); */
        position: relative;
        max-width: 1100px;
        margin: 0 auto 50px;
    }
    .box-gradA-wrapper--right {
        padding: 70px 0 140px;
        margin-bottom: 0;
        background: rgb(238, 238, 238, 1);
        /* background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 35%, rgba(238, 238, 238, 1) 35%, rgba(240, 231, 216, 1) 100%); */
    }
}

/*-------- box-gradA-wrapper------------------*/

.wrap-square-gray:after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -2;
    display: inline-block;
    width: 0;
    height: 0;
    content: "";
    border-color: #eee #eee transparent transparent;
    border-style: solid;
    border-width: 30vw 100vw 0 10vw;
    pointer-events: none;
}

.wrap-square-grayB:after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -2;
    display: inline-block;
    width: 0;
    height: 0;
    content: "";
    border-color: #eee #eee transparent transparent;
    border-style: solid;
    border-width: 340vw 100vw 0 10vw;
    pointer-events: none;
}

@media (min-width: 961px) {
    .wrap-square-gray:after {
        border-color: #eee #eee #eee #eee;
        border-width: 200px 1000px 100px 100px;
    }
    .wrap-square-grayB:after {
        border-color: #eee #eee transparent transparent;
        border-width: 1300px 1000px 0 10vw;
    }
}

/*--------block-mailmagazine ------------------*/

.block-mailmagazine {
    background: #FFF;
    padding: 4.7vw;
    margin-bottom: 4em;
}

@media (min-width: 961px) {
    .block-mailmagazine {
        padding: 60px;
    }
}

/*--------txt-mailmagazine ------------------*/

.txt-mailmagazine {
    font-size: 14px;
    text-align: center;
    margin-bottom: 2em;
    line-height: 1.8;
}

@media (min-width: 961px) {
    .txt-mailmagazine {
        font-size: 16px;
        margin-bottom: 4em;
    }
}

/*--------step-mailmagazine ------------------*/

.step-mailmagazine-left {
    margin-bottom: 2em;
}

.step-mailmagazine-right {
    margin-bottom: 2em;
}

.step-mailmagazine-right img {
    width: 100%;
    height: 100%;
}

@media (min-width: 961px) {
    .step-mailmagazine {
        -ms-flex-pack: justify;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 3em;
    }
    .step-mailmagazine-left {
        margin-bottom: 0;
        width: 54%;
    }
    .step-mailmagazine-right {
        margin-bottom: 0;
        width: 42%;
    }
}

/*--------tit-mailmagazine ------------------*/

.tit-mailmagazine {
    font-size: 6.2vw;
    color: #5c4b2d;
    font-weight: 500;
    margin-bottom: 1.0em;
    letter-spacing: 3px;
}

.tit-mailmagazine span {
    color: #ef7b51;
    position: relative;
    padding-top: 0.2em;
}

.tit-mailmagazine span::before {
    position: absolute;
    content: "";
    width: 0.2em;
    height: 0.2em;
    border-radius: 50%;
    background-color: #ef7b51;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
}

@media (min-width: 961px) {
    .tit-mailmagazine {
        font-size: 28px;
    }
}

/*--------list-mailmagazine ------------------*/

.list-mailmagazine {
    font-size: 3.2vw;
}

.list-mailmagazine .list-mailmagazine__single {
    margin-bottom: 1em;
    padding-left: 10vw;
    background-repeat: no-repeat;
    background-position: center left;
    -webkit-background-size: 7vw;
    background-size: 7vw;
}

.list-mailmagazine .list-mailmagazine__single:nth-child(1) {
    background-image: url(../images/mailmagazine/mailmagazine_step_01.png);
}

.list-mailmagazine .list-mailmagazine__single:nth-child(2) {
    background-image: url(../images/mailmagazine/mailmagazine_step_02.png);
}

.list-mailmagazine .list-mailmagazine__single:nth-child(3) {
    background-image: url(../images/mailmagazine/mailmagazine_step_03.png);
}

.list-mailmagazine .list-mailmagazine__single span {
    color: #ef7b51;
    font-weight: 500;
}

@media (min-width: 961px) {
    .list-mailmagazine {
        font-size: 18px;
    }
    .list-mailmagazine .list-mailmagazine__single {
        padding-left: 58px;
        -webkit-background-size: 40px;
        background-size: 40px;
    }
}

/*--------input-mailmagazine ------------------*/

.registration-mailmagazine {
    padding: 4vw;
    background: #fdf2ed;
}

.input-mailmagazine {
    margin-bottom: 0.5em;
}

.input-mailmagazine input {
    border: 1px solid #b0b0b0;
    font-size: 16px;
    padding: 5px;
    width: 100%;
}

.btn-mailmagazine {
    position: relative;
    font-size: 16px;
    color: #FFF;
}

.btn-mailmagazine input {
    padding: 5px;
    width: 100%;
    font-weight: 500;
    font-size: 16px;
    color: #FFF;
    background: #ef7b51;
    border: 1px solid #ef7b51;
    cursor: pointer;
}

.btn-mailmagazine .fas {
    position: absolute;
    right: 5%;
    top: 20%;
}

@media (min-width: 961px) {
    .registration-mailmagazine {
        padding: 60px 90px;
        -ms-flex-pack: justify;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .input-mailmagazine {
        margin-bottom: 0em;
        width: 72%;
    }
    .btn-mailmagazine {
        margin-bottom: 0;
        width: 28%;
    }
    .input-mailmagazine input {
        padding: 10px;
    }
    .btn-mailmagazine input {
        padding: 10px;
        transition: .3s ease-in-out;
    }
    .btn-mailmagazine input:hover {
        background: #fff;
        color: #ef7b51;
    }
    .btn-mailmagazine .fas {
        position: absolute;
        right: 10%;
        top: 50%;
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
        -webkit-transition: -webkit-transform .3s ease-out;
        transition: -webkit-transform .3s ease-out;
        transition: transform .3s ease-out;
        transition: transform .3s ease-out, -webkit-transform .3s ease-out;
    }
    .btn-mailmagazine:hover .fas {
        -webkit-transform: translate(.5em, -50%);
        transform: translate(.5em, -50%);
        color: #ef7b51;
    }
}

/*-------- simulation-input ------------------*/

.simulation-input {
    padding: 4vw;
    background: #FFF;
    margin-top: 8vw;
}

@media (min-width: 961px) {
    .simulation-input {
        padding: 50px 50px 30px;
        margin-top: 60px;
    }
}

/*-------- simulation-input-text ------------------*/

.simulation-input-text {
    font-size: 16px;
    font-weight: 500;
    margin: 1.5em 0 2.5em;
    text-align: center;
}

.simulation-input-text--complete {
    color: #ef7b51;
}

/*-------- list-simulation-input ------------------*/

.list-simulation-input {
    font-size: 16px;
    margin-bottom: 1.25em;
}

.list-simulation-input-header {
    font-weight: bold;
    color: #5c4b2d;
    margin-bottom: 0.5em;
    padding-left: 1.5em;
    position: relative;
}

.list-simulation-input-header:after {
    position: absolute;
    content: "";
    width: 1em;
    border: 2px solid #ef7b51;
    left: 0;
    top: 45%;
}

.list-simulation-input-header .icon {
    color: #FFF;
    background: #ef7b51;
    font-size: 80%;
    display: inline-block;
    padding: 3px 6px;
    line-height: 1;
}

.list-simulation-input-body {}

.list-simulation-input-body input, .list-simulation-input-body select, .list-simulation-input-body textarea {
    border: 1px solid #b0b0b0;
    padding: 5px;
    font-size: 16px;
}

.list-simulation-input-body .w1 {
    width: 100%;
}

.list-simulation-input-body .w2 {
    width: 43%;
}

.list-simulation-input-body .w3 {
    width: 50%;
}

@media (min-width: 961px) {
    .list-simulation-input {
        margin-bottom: 1.5em;
    }
    .list-simulation-input {
        -ms-flex-pack: end;
        -webkit-box-pack: end;
        justify-content: flex-end;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 2em;
    }
    .list-simulation-input-header {
        width: 33%;
        margin-bottom: 0;
        padding-top: 0.5em;
    }
    .list-simulation-input-header:after {
        top: 1.25em;
    }
    .list-simulation-input-body {
        width: 67%;
    }
}

/*-------- llist-simulation-btn------------------*/

.list-simulation-btn {
    text-align: center;
    margin: 2em 0 0;
}

.list-simulation-btn__single {
    display: inline-block;
    width: 100%;
    position: relative;
    margin-bottom: 1em;
}

.list-simulation-btn__single input, .list-simulation-btn__single a {
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid #ef7b51;
    font-size: 18px;
    background: #ef7b51;
    padding: 10px 0;
    font-weight: 500;
    transition: .3s ease-in-out;
    color: #FFF;
    cursor: pointer;
}

.list-simulation-btn__single--back input {
    border: 1px solid #b0b0b0;
    background: #b0b0b0;
}

.list-simulation-btn__single .fas {
    position: absolute;
    right: 5%;
    top: 30%;
    width: 0.5em;
    color: #FFF;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

.list-simulation-btn__single--back .fas {
    left: 5%;
    top: 30%;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

@media (min-width: 961px) {
    .list-simulation-btn {
        margin: 0;
        -ms-flex-pack: justify;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .list-simulation-btn--jscenter {
        justify-content: center;
    }
    .list-simulation-btn--mt70 {
        margin-top: 70px;
    }
    .list-simulation-btn__single {
        width: 450px;
        height: 60px;
    }
    .list-simulation-btn__single input {
        height: 100%;
    }
    .list-simulation-btn__single input:hover, .list-simulation-btn__single a:hover {
        background: #FFF;
        color: #ef7b51;
    }
    .list-simulation-btn__single input:hover+.fas, .list-simulation-btn__single a:hover+.fas {
        color: #ef7b51;
        -webkit-transform: translate(.5em, 0);
        transform: translate(.5em, 0);
    }
    .list-simulation-btn__single--back input:hover {
        color: #b0b0b0;
    }
    .list-simulation-btn__single--back input:hover+.fas {
        color: #b0b0b0;
        -webkit-transform: rotate(180deg) translate(.5em, 0);
        transform: rotate(180deg) translate(.5em, 0);
    }
    .list-simulation-btn__single .fas {
        top: 35%;
    }
    .list-simulation-btn__single input, .list-simulation-btn__single a {
        line-height: 40px;
    }
}

/*202006015/
/* main-header__simulation */

.main-header__simulation {
    background: url(../images/simulation/main-header-simulation.jpg) center center/cover no-repeat;
}

/*----------------------------------------------------
	simulation
----------------------------------------------------*/

/* simulation-step__section */

.simulation-step__section {
    margin-bottom: 4em;
}

/* simulation-step-header */
.simulation-step > .simulation-step-header,
.simulation-step > form > .simulation-step-header {
    margin: 0;
}

.simulation-step-header {
    margin: 3em 0 0;
    text-align: center;
    width: 100%;
}

.simulation-step__section .simulation-step-header {
    margin: 0 !important;
}

.simulation-step-header .simulation-step-header__en {
    margin-bottom: 0.2em;
    /* font-family: laski-slab, sans-serif; */
    font-weight: 600;
    letter-spacing: .1em;
    color: #ef7b51;
}

.simulation-step-header .simulation-step-header__en span {
    display: inline-block;
    border-bottom: 1px solid #ef7b51;
}

.simulation-step-header .simulation-step-header__jp {
    color: #5c4b2d;
    margin-bottom: 1em;
}

.simulation-step-header .simulation-step-header__attention {
    color: #ff0000;
    font-size: 80%;
}
@media (max-width: 960px) {
    .simulation-step-header .simulation-step-header__en {
        font-size: 5vw;
    }
    .simulation-step-header .simulation-step-header__jp {
        font-size: 4vw;
    }
}
@media (min-width: 961px) {
    .simulation-step-header .simulation-step-header__en {
        font-size: 32px;
    }
    .simulation-step-header .simulation-step-header__jp {
        font-size: 20px;
    }
}

/* simulation-step-header */

.simulation-step-body {
    position: relative;
}

@media (max-width: 960px) {
    .simulation-step-body {
        font-size: 4vw;
    }
}
@media (min-width: 961px) {
    .simulation-step-header {
        margin: 70px 0 0;
    }

    .simulation-step-body {
        -ms-flex-pack: justify;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

/*-------- simulation-sectionA ------------------*/

.simulation-sectionA {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.simulation-sectionA .simulation-sectionA__item {
    margin-bottom: 4vw;
    width: 48%;
    height: auto;
    display: flex;
    flex-direction: column;
}

.simulation-sectionA .simulation-sectionA__label {
    display: block;
    padding: 20px;
    text-align: center;
    cursor: pointer;
    transition: .3s ease-in-out;
    height: auto;
}

.simulation-sectionA .simulation-sectionA__label--bg1 {
    background: #f0e6d8;
    border: 1px solid #f0e6d8;
}

.simulation-sectionA .simulation-sectionA__label--bg1.on {
    background: #FFF;
    opacity: 0.7;
}

.simulation-sectionA .simulation-sectionA__label--bg2 {
    background: #f0e0d8;
    border: 1px solid #f0e0d8;
}

.simulation-sectionA .simulation-sectionA__label--bg2.on {
    background: #FFF;
    opacity: 0.7;
}

.simulation-sectionA .simulation-sectionA__radio {
    display: none;
}

.simulation-sectionA .simulation-sectionA__image {
    margin-bottom: 1.5em;
    width: 100%;
    height: 160px;
    min-height: 160px;
    background: #fff;
    margin: 0 auto;
    padding: 10px;
    vertical-align: middle;
    text-align: center;
}

.simulation-sectionA .simulation-sectionA__image img {
    -o-object-fit: contain;
    object-fit: contain;
    max-height: 140px;
    max-width: 140px;
    display: table-cell;
    vertical-align: middle;
    margin: 0 auto;
}

.simulation-sectionA .simulation-sectionA__text {
    /* height: 30%; */
    vertical-align: middle;
    display: table;
    width: 100%;
    margin: 20px 0 0;
    flex-grow: 1;
}
.simulation-sectionA .simulation-sectionA__text span {
    font-size: 16px;
    vertical-align: middle;
    display: table-cell;
    font-weight: bold;
}
@media (max-width: 960px) {
    .simulation-sectionA {
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }

    .simulation-sectionA .simulation-sectionA__label {
        padding: 20px;
        height: 100%;
        display: flex;
        flex-direction: column;
        max-width: 100%;
    }
    .simulation-sectionA .simulation-sectionA__image {
        width: calc(108vw*2/640*100);
        height: 120px;
        margin: 0 auto;
    }
}
@media (min-width: 961px) {
    .simulation-sectionA .simulation-sectionA__item {
        margin-bottom: 60px;
        /* margin-right: 53px; */
        width: 210px;
        height: auto;
        /* float: left; */
        display: flex;
        flex-direction: column;
    
    }
    .simulation-sectionA .simulation-sectionA__item:nth-child(4n) {
        margin-right: 0;
    }
    .simulation-sectionA .simulation-sectionA__label {
        padding: 20px;
        height: 100%;
        display: flex;
        flex-direction: column;
        max-width: 100%;
    }
    .simulation-sectionA .simulation-sectionA__image img {
        -o-object-fit: contain;
        object-fit: contain;
        max-height: 140px;
        max-width: 140px;
        display: table-cell;
        vertical-align: middle;
        margin: 0 auto;
        }
    .simulation-sectionA .simulation-sectionA__text {
        /* height: 30%; */
        vertical-align: middle;
        display: table;
        width: 100%;
    }
    .simulation-sectionA .simulation-sectionA__text span {
        font-size: 18px;
    }
    .simulation-sectionA .simulation-sectionA__label--bg1:hover, .simulation-sectionA .simulation-sectionA__label--bg2:hover {
        background: #FFF;
        opacity: 0.7;
    }
}

/*-------- simulation-section02 ------------------*/

.simulation-section02__title {
    text-align: left;
    color: #5c4b2d;
    font-weight: 600;
    margin-bottom: 1em;
    width: 40%;
    margin: auto;
}

.simulation-section02-A__title,
.simulation-section02-B__title {
    text-align: center;
}
.simulation-section02__image {
    margin: 1em 0;
}

.simulation-section02__image img {
    width: calc(108vw*4/640*100);
    height: calc(68vw*4/640*100);
    -o-object-fit: contain;
    object-fit: contain;
}
@media (maz-width: 960px) {
.simulation-section02__title {
    font-size: 4vw;
}
}
@media (min-width: 961px) {
    .simulation-section02__title {
        text-align: center;
        font-size: 24px;
    }
    .simulation-section02__image {
        margin: 2em 0;
    }
    .simulation-section02__image img {
        width: auto;
        height: auto;
    }
}

/*-------- simulation-section02-A ------------------*/

.simulation-section02-A {
    margin: 1em 0;
    background: #f0e7d8;
    padding: 20px 14px;
    text-align: center;
}

.simulation-section02-A .simulation-section02-A__form {
    text-align: center;
    margin-right: -1.6em;
}

.simulation-section02-A__form span {
    display: inline-block;
    width: 77%;
    text-align: left;
}

.simulation-section02-A .simulation-section02-A__form input {
    border-radius: 4px;
    border: 1px solid #dddddd;
    /* width: 70%; */
}

.simulation-section02-A .simulation-section02-A__form label {
    display: inline-block;
    margin: 0 0 10px;
    vertical-align: top;
    width: 27vw;
}
/* .simulation-section02-A .simulation-section02-A__form label:last-child {
    width: 100%;
} */

.simulation-section02-A .simulation-section02-A__form .simulation-section02-A__input {
    display: block;
    margin: 0.25em 0 0;
}

.simulation-section02-A .simulation-section02-A__form .simulation-section02-A__input input {
    border-radius: 4px;
    border: 1px solid #dddddd;
}

.simulation-section02-A .simulation-section02-A__form input[type="number"], .simulation-section02-A .simulation-section02-A__form input[type="text"] {
    width: 30%;
}

@media (min-width: 961px) {
    .simulation-section02-A {
        float: none;
        width: 480px;
        padding: 40px 28px;
        margin: 1em 0 2em;
    }
    .simulation-section02-A .simulation-section02-A__form {
        font-size: 18px;
        margin-right: -42px;
    }

    .simulation-section02-A .simulation-section02-A__form label {
        width: 135px;
    }
    .simulation-section02-A__form span {
        display: inline-block;
        width: 80%;
        text-align: left;
    }
}

/*-------- simulation-section02-B ------------------*/

.simulation-section02-B {
    margin: 1em 0;
    background: #f0e3d8;
    padding: 20px;
    text-align: center;
}

.simulation-section02-B .simulation-section02-B__form {
    font-size: 4vw;
}
.simulation-section02-B .simulation-section02-B__form .rohto-item {
    display: table;
    width: 100%;
    margin-bottom: 10px;
}
.simulation-section02-B .simulation-section02-B__form .rohto-item:not(:first-child) {
    margin-bottom: 20px;
}
.simulation-section02-B .simulation-section02-B__form .rohto-item > * {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
}
.simulation-section02-B .simulation-section02-B__form .rohto-item p:first-child {
    width: 40%;
}
.simulation-section02-B .simulation-section02-B__form .rohto-item label {
    display: inline-block;
}
.simulation-section02-B .simulation-section02-B__form .rohto-item label:not(:last-child) {
    margin-right: 10px;
}
.simulation-section02-B .simulation-section02-B__form .rohto-item_text {
    font-size: 16px;
    text-align: left;
}
.simulation-section02-B .simulation-section02-B__form input {
    border-radius: 4px;
    border: 1px solid #dddddd;
    width: 70%;
}

.simulation-section02-B .simulation-section02-B__form input[type="number"] {
    width: 30%;
}
@media (max-width: 960px) {
    .simulation-section02-A .simulation-section02-A__form,
    .simulation-section02-B .simulation-section02-B__form .rohto-item_text {
        font-size: 4vw;
    }
    
}
@media (min-width: 961px) {
    .simulation-section02-B {
        float: none;
        width: 480px;
        padding: 40px;
        margin: 1em 0 2em;
    }
    .simulation-section02-B .simulation-section02-B__form {
        font-size: 18px;
    }
    .simulation-section02-B .rohto-items {
        padding-left: 24px;
    }
    .simulation-section02-B .simulation-section02-B__form .rohto-item p:first-child {
        width: 35%;
    }    
}

/*-------- simulation-section02-C ------------------*/

.simulation-section02-C {
    margin: 1em 0;
    background: #f0ded8;
    padding: 20px;
    display: table;
    width: 100%;
}
.simulation-section02-C > * {
    display: table-cell;
    vertical-align: middle;
}
.simulation-section02-C .simulation-section02-C__form {
    text-align: left;
    margin-right: -19px;
}
.simulation-section02-C .simulation-section02-C__form input {
    border-radius: 4px;
    border: 1px solid #dddddd;
    /* width: 70%; */
    text-align: right;
}
.simulation-section02-C .simulation-section02-C__form input[type="text"], .simulation-section02-C .simulation-section02-C__form input[type="number"] {
    width: 30%;
    margin-right: 0.5em;
}

.simulation-section02-C .simulation-section02-C__form label {
    display: inline-block;
    width: 30%;
}

.simulation-section02-C .simulation-section02-C__form .simulation-section02-C__input {
    display: block;
    margin: 0.25em 0 0;
}

.simulation-section02-C .simulation-section02-C__form .simulation-section02-C__input input {
    border-radius: 4px;
    border: 1px solid #dddddd;
}

@media (min-width: 961px) {
    .simulation-section02-C {
        margin: 30px 0;
        clear: both;
        padding: 30px 50px 30px 60px;
        overflow: hidden;
        text-align: left;
        width: 100%;
    }
    .simulation-section02-C .simulation-section02-C__title {
        display: table-cell;
        vertical-align: middle;
        /* float: left; */
        width: auto;
        margin-bottom: 30px;
        text-align: left;
    }
    .simulation-section02-C .simulation-section02-C__form {
        display: table-cell;
        vertical-align: middle;
        /* float: right; */
        width: 45%;
        font-size: 18px;
        overflow: unset;
    }
    .simulation-section02-C .simulation-section02-C__form label {
        width: auto;
        display: inline-block;
        float: none;
        text-align: center;
    }
    .simulation-section02-C .simulation-section02-C__form label:last-child {
        width: auto;
        float: none;
    }
    .simulation-section02-C .simulation-section02-C__form .simulation-section02-C__input {
        display: inline-block;
        margin: 0 0 0 10px;
    }
}

@media (max-width: 960px) {
    .simulation-section02-C .simulation-section02-C__form {
        font-size: 4vw;
    }
    .simulation-section02-C .simulation-section02-C__form.form__select {
        display: flex;
        justify-content: space-evenly;
        width: 100%;
        font-size: 4vw;
        overflow: hidden;
        text-align: center;
        margin: 0;
    }
    .simulation-section02-C .simulation-section02-C__form.form__block label {
        width: 100%;
    }
    .simulation-section02-C .simulation-section02-C__form label {
        display: inline;
        margin: 0 0.5em;
        width: auto;
    }
    .simulation-section02-C .simulation-section02-C__form input {
        width: auto;
    }
    .simulation-section02-C .simulation-section02-C__form .simulation-section02-C__input {
        display: block;
        margin: 0.25em 0 0;
    }
    .simulation-section02-C .simulation-section02-C__form .simulation-section02-C__input input {
        border-radius: 4px;
        border: 1px solid #dddddd;
    }
    .simulation-section02-C__text {
        text-align: left;
    }
    .simulation-section02-C .simulation-section02-C__form .material {
        width: 30%;
    }
    .simulation-section02-C .simulation-section02-C__form .sp {
        margin: 0 5px 5px 0;
        display: inline-block;
        width: 28%;
    }
    .simulation-section02-C .simulation-section02-C__form .sp input[type="radio"] {
        margin: 5px;
        transform: scale(1.6);
    }
    .simulation-section02-C .simulation-section02-C__form {
        text-align: center;
        padding: 0 0.5em;
    }
}

/*-------- simulation-section03-A ------------------*/

.simulation-section03-A {}

.simulation-section03-A .simulation-section03-A__title {
    text-align: center;
    color: #5c4b2d;
    font-size: 18px;
    border: 1px solid #dddddd;
    padding: 10px 0;
    margin: 0 0 1em;
}

.simulation-section03-A__list {
    margin-bottom: 1.25em;
}

.simulation-section--checkboxA {}

.simulation-section--checkboxA .simulation-section--checkboxA__item {
    margin-bottom: 0.5em;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item input {
    display: none;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item label {
    display: block;
    padding: 10px;
    overflow: hidden;
    transition: .3s ease-in-out;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item--bg1 label {
    background: #f0e7d8;
    border: 1px solid #f0e7d8;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item--bg2 label {
    background: #f0e3d8;
    border: 1px solid #f0e3d8;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item--bg3 label {
    background: #f0ddd8;
    border: 1px solid #f0ddd8;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item--bg1 label.on {
    background: #FFF;
    border: 1px solid #f0e7d8;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item--bg2 label.on {
    background: #FFF;
    border: 1px solid #f0e3d8;
}

.simulation-section--checkboxA .simulation-section--checkboxA__item--bg3 label.on {
    background: #FFF;
    border: 1px solid #f0ddd8;
}

.simulation-section--checkboxA .simulation-section--checkboxA__image {
    display: block;
    float: left;
    width: 77px;
    height: 79px;
}

.simulation-section--checkboxA .simulation-section--checkboxA__text {
    font-size: 16px;
    padding-left: 15px;
    line-height: 1.4;
    height: 79px;
    display: flex;
    align-items: center;
}

@media (min-width: 961px) {
    .simulation-section03-A {
        overflow: hidden;
    }
    .simulation-section03-A .simulation-section03-A__title {
        float: left;
        width: 208px;
        margin-bottom: 0;
        padding: 0;
        height: 98px;
        line-height: 98px;
        font-size: 22px;
    }
    .simulation-section03-A .simulation-section03-A__list {
        float: right;
        width: 764px;
    }
    .simulation-section--checkboxA {
        overflow: hidden;
    }
    .simulation-section--checkboxA .simulation-section--checkboxA__item {
        width: 234px;
        height: 100px;
        float: left;
        margin-right: 30px;
        font-size: 16px;
    }
    .simulation-section--checkboxA .simulation-section--checkboxA__item:nth-child(3n) {
        margin-right: 0px;
    }
    .simulation-section--checkboxA .simulation-section--checkboxA__item--bg1 label:hover {
        background: #FFF;
        opacity: 0.7;
    }
    .simulation-section--checkboxA .simulation-section--checkboxA__item--bg2 label:hover {
        background: #FFF;
        opacity: 0.7;
    }
    .simulation-section--checkboxA .simulation-section--checkboxA__item--bg3 label:hover {
        background: #FFF;
        opacity: 0.7;
    }
}

/*-------- simulation-section03-B ------------------*/

.simulation-section03-B {
    font-size: 16px;
    text-align: center;
    margin-top: 1.0em;
}

.simulation-section03-B label {
    display: block;
    padding: 20px 0;
    background: #ef7b51;
    color: #FFF;
}

.simulation-section03-B .simulation-section03-B__text {
    display: inline-block;
    font-weight: 600;
}

@media (min-width: 961px) {
    .simulation-section03-B label {
        display: inline-block;
        width: 70%;
    }
}

/*--------simulation-section04-A ------------------*/

.simulation-section04-A {}

.simulation-section04-A .simulation-section04-A__title {
    text-align: center;
    color: #5c4b2d;
    font-size: 18px;
    border: 1px solid #dddddd;
    padding: 10px 0;
    margin: 0 0 1em;
}

@media (min-width: 961px) {
    .simulation-section04-A {
        overflow: hidden;
    }
    .simulation-section04-A .simulation-section04-A__title {
        float: left;
        width: 208px;
        margin-bottom: 0;
        padding: 0;
        height: 98px;
        line-height: 98px;
        font-size: 22px;
    }
    .simulation-section04-A .simulation-section04-A__list {
        float: right;
        width: 764px;
    }
}

/*--------simulation-section--pulldownA ------------------*/

.simulation-section--pulldownA {}

.simulation-section--pulldownA .simulation-section--pulldownA__item {
    margin-bottom: 1.0em;
    font-size: 16px;
    text-align: center;
}

.simulation-section--pulldownA__wrapper {
    padding: 15px;
    margin-bottom: 0.5em;
}

.simulation-section--pulldownA__wrapper--bg1 {
    background: #f0e7d8;
}

.simulation-section--pulldownA__wrapper--bg2 {
    background: #f0e3d8;
}

.simulation-section--pulldownA__wrapper--bg3 {
    background: #f0ddd8;
}

.simulation-section--pulldownA__image {
    margin-bottom: 0.5em;
}

.simulation-section--pulldownA__select select {
    border-radius: 4px;
    width: 100%;
    padding: 5px;
    border: 1px solid #dddddd;
}

@media (min-width: 961px) {
    .simulation-section--pulldownA {
        overflow: hidden;
    }
    .simulation-section--pulldownA .simulation-section--pulldownA__item {
        width: 234px;
        height: 290px;
        float: left;
        margin-right: 30px;
        font-size: 16px;
    }
    .simulation-section--pulldownA .simulation-section--pulldownA__item:nth-child(3n) {
        margin-right: 0px;
    }
    .simulation-section--pulldownA__wrapper {
        padding: 20px;
        margin-bottom: 1em;
    }
    .simulation-section--pulldownA__image {
        margin-bottom: 1em;
    }
}

/*-------- simulation-section03-B ------------------*/

.simulation-section04-B {
    font-size: 16px;
    text-align: center;
    margin-top: 1.0em;
}

.simulation-section04-B label {
    display: block;
    padding: 20px;
    background: #ef7b51;
    color: #FFF;
}

.simulation-section04-B .simulation-section04-B__text {
    display: inline-block;
    font-weight: 600;
}

.simulation-section04-B .simulation-section04-B__text br {
    display: none;
}

@media (min-width: 961px) {
    .simulation-section04-B {
        position: absolute;
        left: 0;
        top: 100px;
        width: 208px;
    }
    .simulation-section04-B label {
        height: 152px;
    }
    .simulation-section04-B .simulation-section04-B__text {
        display: block;
        margin-top: 0.5em;
        font-size: 22px;
    }
    .simulation-section04-B .simulation-section04-B__text br {
        display: block;
    }
}

/*-------- simulation-section05__wrapper ------------------*/

.simulation-section05__wrapper {
    -ms-flex-pack: justify;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

/*-------- simulation-section05-A ------------------*/

.simulation-section05-A {
    width: 48%;
    font-size: 16px;
    padding: 10px 15px 20px;
    margin-bottom: 4vw;
    overflow: hidden;
}

.simulation-section05-A--bg1 {
    background: #f0e7d8;
}

.simulation-section05-A--bg2 {
    background: #f0ddd8;
}

.simulation-section05-A__title {
    text-align: center;
    margin-bottom: 0.5em;
    font-weight: 500;
}

.simulation-section05-A__image {
    text-align: center;
    margin-bottom: 0.5em;
}

.simulation-section05-A__image--left {
    float: left;
    width: 40%;
}

.simulation-section05-A__form--right {
    float: right;
    width: 50%;
}

.simulation-section05-A__image img {
    width: 100%;
    height: 100%;
}

.simulation-section05-A__form label {
    width: 46%;
    display: inline-block;
    font-size: 14px;
    margin-bottom: 0.5em;
}

.simulation-section05-A__form--right label {
    width: 100%;
}

@media (min-width: 961px) {
    .simulation-section05-A {
        width: 21%;
        margin-bottom: 30px;
    }
    .simulation-section05-A__image {
        margin-bottom: 1em;
    }
    .simulation-section05-A__image img {
        width: auto;
        height: auto;
    }
    .simulation-section05-A__form label {
        font-size: 16px;
    }
}

/*-------- simulation-section05-B ------------------*/

.simulation-section05-B {
    font-size: 16px;
    background: #f0ddd8;
    padding: 15px;
    width: 100%;
}

.simulation-section05-B__title {
    text-align: center;
    margin-bottom: 0.5em;
    font-weight: 500;
}

.simulation-section05-B__image {
    float: left;
    width: 26%;
}

.simulation-section05-B__image img {
    width: calc(108vw*2/640*100);
    height: calc(68vw*2/640*100);
    -o-object-fit: contain;
    object-fit: contain;
}

.simulation-section05-B__form {
    float: right;
    width: 71%;
}

.simulation-section05-B__form label {
    width: 48%;
    display: inline-block;
    font-size: 13px;
}

@media (min-width: 961px) {
    .simulation-section05-B {
        width: 47.25%;
        height: 180px;
    }
    .simulation-section05-B__image img {
        width: auto;
        height: auto;
    }
    .simulation-section05-B__form label {
        font-size: 16px;
        margin-bottom: 0.4em;
    }
}

/*-------- simulation-section05-C ------------------*/

.simulation-section05-C {
    font-size: 16px;
    text-align: center;
    margin-top: 1.0em;
    width: 100%;
}

.simulation-section05-C label {
    display: block;
    padding: 20px;
    background: #ef7b51;
    color: #FFF;
}

.simulation-section05-C .simulation-section05-C__text {
    display: inline-block;
    font-weight: 600;
}

.simulation-section05-C .simulation-section05-C__text br {
    display: none;
}

@media (min-width: 961px) {
    .simulation-section05-C {
        width: 47.25%;
        margin-top: 0;
    }
    .simulation-section05-C label {
        height: 180px;
        padding: 50px 0 0;
    }
    .simulation-section05-C .simulation-section05-C__text {
        display: block;
        margin-top: 0.5em;
        font-size: 22px;
    }
    .simulation-section04-B .simulation-section04-B__text br {
        display: block;
    }
}

/*-------- simulation-step-submit ------------------*/

.simulation-step-submit {
    text-align: center;
}

.simulation-step-submit input {
    border: none;
    width: 100%;
    background: #ef5155;
    padding: 10px;
    font-size: 16px;
    font-weight: bold;
    color: #FFF;
    cursor: pointer;
}

@media (min-width: 961px) {
    .simulation-step-submit input {
        border: none;
        width: 60%;
        background: #ef5155;
        padding: 15px;
        font-size: 24px;
        color: #FFF;
        cursor: pointer;
    }
}

/*-------- simulation-results------------------*/

.simulation-results {
    background: #eeeeee;
    padding: 40px 0;
}

.simulation-results--bgn {
    background: none;
}

.simulation-results-wrapper {
    padding-right: 4.7vw;
    padding-left: 4.7vw;
    text-align: center;
}

.simulation-results-input .simulation-results-wrapper {
    padding-right: 0;
    padding-left: 0;
}

.simulation-results-title {
    display: inline-block;
    text-align: center;
    font-size: 22px;
    color: #5c4b2d;
    font-weight: bold;
    position: relative;
    padding-top: 1em;
    margin-bottom: 1.5em;
}

.simulation-results-title:before {
    content: '';
    position: absolute;
    left: 50%;
    top: -0.0em;
    display: inline-block;
    width: 20%;
    height: 4px;
    transform: translateX(-50%);
    background-color: #ef7b51;
}

@media (max-width: 960px) {
    .simulation-results-title:before {
        width: 10vw;
    }
}

.simulation-results-titleB {
    display: inline-block;
    text-align: center;
    font-size: 22px;
    color: #5c4b2d;
    font-weight: bold;
    position: relative;
    padding-top: 0em;
    margin-bottom: 2.5em;
}

.simulation-results-titleB:before {
    content: '';
    position: absolute;
    left: 50%;
    top: 2.0em;
    display: inline-block;
    width: 20%;
    height: 2px;
    transform: translateX(-50%);
    background-color: #ef7b51;
}

.simulation-results-image {
    margin-bottom: 1em;
    text-align: center;
}

.simulation-results-image img {
    width: calc(108vw*5/640*100);
    height: calc(68vw*5/640*100);
    -o-object-fit: contain;
    object-fit: contain;
}

.simulation-results-red {
    border: 2px solid #ff0000;
    background: #FFF;
    padding: 10px;
    color: #ff0000;
    font-size: 12px;
    margin-bottom: 2.0em;
    text-align: center;
}

.simulation-results-price {
    text-align: center;
    font-size: 30px;
    color: #5c4b2d;
    border-top: 1px solid #c9c9c9;
    border-bottom: 1px solid #c9c9c9;
    margin-bottom: 0.5em;
    padding: 10px 0;
}

.simulation-results-price span {
    font-size: 14px;
}

.simulation-results-attention {
    font-size: 14px;
    margin-bottom: 1em;
    text-align: left;
}

.simulation-results-attention li {
    text-indent: -1em;
    margin-left: 1em;
}

.simulation-results-contact {
    text-align: center;
    margin-bottom: 1em;
}

.simulation-results-contact a {
    display: block;
    font-weight: bold;
    background: #ef5155;
    color: #FFF;
    padding: 20px 0;
    font-size: 18px;
    position: relative;
}

.simulation-results-contact a .fas {
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .simulation-results-contact a:hover .fas {
        -webkit-transform: translate(.5em, -50%);
        transform: translate(.5em, -50%);
    }
}

.simulation-results-order {
    text-align: center;
    margin: 0 10% 1em;
}

.simulation-results-order a {
    display: block;
    font-weight: bold;
    background: #ef7b51;
    color: #FFF;
    padding: 20px 0;
    font-size: 18px;
    position: relative;
}

.simulation-results-order a .fas {
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
    .simulation-results-order a:hover .fas {
        -webkit-transform: translate(.5em, -50%);
        transform: translate(.5em, -50%);
    }
}

.simulation-results-body {
    margin-top: 2em;
    text-align: left;
}

.simulation-results-table {}

.simulation-results-table .simulation-results-table__title {
    font-size: 14px;
    margin-bottom: 0.25em;
}

.simulation-results-table table {
    width: 100%;
    font-size: 12px;
    margin-bottom: 1em;
}

.simulation-results-table table th, .simulation-results-table table td {
    padding: 15px 10px;
    text-align: left;
    border-bottom: 1px solid #CCC;
}

.simulation-results-table table tr:last-child th, .simulation-results-table table tr:last-child td {
    border-bottom: none;
}

.simulation-results-table table th {
    background: #ef7b51;
    color: #FFF;
    width: 40%;
}

.simulation-results-table table td {
    background: #FFF;
}

.simulation-results-btn {
    margin-top: 2em;
}

@media (min-width: 961px) {
    .simulation-results {
        padding: 60px 0;
    }
    .simulation-results-input {
        padding: 10px 0 60px;
    }
    .simulation-results-wrapper {
        max-width: 1080px;
        position: relative;
        padding-right: 40px;
        padding-left: 40px;
        margin: 0 auto;
        overflow: hidden;
    }
    .simulation-results-title {
        display: block;
        font-size: 34px;
    }
    .simulation-results-title:before {
        width: 10%;
    }
    .simulation-results-titleB {
        display: block;
        font-size: 34px;
    }
    .simulation-results-titleB:before {
        width: 10%;
    }
    .simulation-results-header {
        float: left;
        width: 40%;
    }
    .simulation-results-input .simulation-results-header {
        width: 35%;
    }
    .simulation-results-body {
        float: right;
        width: 56%;
        margin-top: 0;
    }
    .simulation-results-image img {
        width: auto;
        height: auto;
    }
    .simulation-results-btn {
        float: left;
        width: 40%;
        margin-top: 0;
    }
    .simulation-results-table .simulation-results-table__title {
        font-size: 18px;
    }
    .simulation-results-table table {
        font-size: 14px;
    }
}

/*-------- simulation-js------------------*/

.input-child {
    display: none;
}

/*-------- simulation-js------------------*/

#simulation-step-02 {
    display: none;
}

#simulation-step-03 {
    display: none;
}

#simulation-step-04 {
    display: none;
}

#simulation-step-05 {
    display: none;
}

#simulation-results {
    display: none;
}

/*-------- br------------------*/

.br-sp {
    display: block;
}

.br-pc {
    display: none;
}

@media (min-width: 961px) {
    .br-sp {
        display: none;
    }
    .br-pc {
        display: block;
    }
}

/*-------- simulation-section03-B ------------------*/

.btn-next-wrap {
    font-size: 16px;
    text-align: center;
    /* margin-top: 1.5em; */
    width: 100%;
}

.btn-next-wrap label {
    display: block;
    padding: 20px 0;
    background: #ef7b51;
    color: #FFF;
    cursor: pointer;
}

.btn-next-wrap label:hover {
    -webkit-box-shadow: 0 10px 20px 0 rgba(0, 0, 0, .3);
    box-shadow: 0 10px 20px 0 rgba(0, 0, 0, .3);
}

.btn-next-wrap label input {
    display: none;
}

.btn-next-wrap .btn-next-wrap__text {
    display: inline-block;
    font-weight: 600;
}

@media (min-width: 961px) {
    .btn-next-wrap label {
        display: inline-block;
        width: 70%;
    }
}

/* 20200616-gravity */

/*----------------------------------------------------
	news
----------------------------------------------------*/

/* news-list */

#news {
    padding: 60px;
    background: #fff;
}

#news.news-list ul {
    display: flex;
    flex-wrap: wrap;
}

#news.news-list ul li {
    width: 29.5%;
    height: auto;
    margin: 0 5.5% 20px 0;
    border-bottom: none;
    padding-bottom: 0;
}

#news.news-list ul li:nth-child(3n) {
    margin-right: 0;
}

#news.news-list ul li a {
    display: block;
    height: auto;
    padding: 25px;
    border: 2px solid #c9c9c9;
}

#news.news-list ul li a:hover {
    opacity: 0.7;
}

#news.news-list ul li figure {
    margin-bottom: 15px;
    height: 60%;
    background: #eee;
    padding: 8px;
}
#news.news-list ul li figure img {
    margin: 0 auto;
    height: 100%;
    max-height: 100%;
    width: auto;
    display: block;
    max-width: 100%;
}
#news.news-list ul li p {
    color: #5c4b2d;
    font-size: 16px;
    font-weight: bold;
}

#news.news-list ul li p.clear {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#news p.date {
    color: #ef7b51;
    font-size: 12px;
    line-height: 1.2;
    /* font-family: laski-slab, sans-serif; */
    float: left;
    margin: 0 20px 5px 0;
}

#news.news-list ul li p.date {
    color: #ef7b51;
    font-size: 14px;
    margin: 4px 0 0;
}

#news p.icon {
    color: #fff;
    font-size: 11px;
    font-weight: normal;
    padding: 2px 3px;
    background: #facd89;
    float: left;
    margin-bottom: 5px;
}

#news.news-list ul li p.icon {
    color: #fff;
    font-size: 11px;
    float: right;
}

#news.news-list ul li p.icon.info {
    background: #facd89;
    margin: 1px 0px 0px 0px;
    width: 6.5vw;
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#news.news-list ul li p.icon.event {
    background: #f29c9f;
}

#news.news-list--custom ul li {
    margin: 0 5.5% 15px 0;
    height: 200px;
}
#news.news-list--custom ul li figure {
    margin-bottom: 10px;
}
#news.news-list--custom ul li a {
    display: block;
    height: 100%;
    padding: 0;
    border: none;
}

#news.news-list--custom p.icon {
    padding: 2px 10px;
}

#news .thumbnail {
    width: 100%;
    text-align: center;
}

#news .thumbnail .pc {
    width: auto;
    text-align: center;
}

#news .thumbnail .pc img {
    height: 20vw;
    width: auto;
    margin: 0 auto;
}

@media (max-width: 960px) {
    #news {
        padding: 12px 16px;
    }
    #news.news-list ul li {
        width: 100%;
        margin: 1.5vw 0% 10vw 0;
    }
    #news.news-list ul li a {
        /* padding: 3vw; */
        height: auto;
    }
    #news.news-list ul li:nth-child(3n) {
        margin-right: 0;
    }
    #news.news-list ul li:nth-child(2n) {
        margin-right: 0;
    }
    #news.news-list ul li figure {
        margin-bottom: 10px;
    }
    #news.news-list--custom ul li figure {
        height: 150px;
    }
    #news.news-list ul li figure img {
        width: auto;
        height: 100%;
    }
    #news p.date {
        font-size: 12px;
        margin: 0 0 0 10px;
        float: left;
        width: 50%;
    }
    #news p.icon {
        font-size: 11px;
        float: right;
    }
    #news.news-list ul li p {
        font-size: 4vw;
    }
    #news.news-list ul li p.icon.info {
        float: right;
        font-size: 3.4vw;
        width: 24vw;
    }
    #news.news-list ul li p.date {
        float: left;
        font-size: 3.8vw;
    }
    #news .thumbnail .sp {
        display: block;
        width: auto;
        text-align: center;
    }
    
    #news .thumbnail .sp img {
        height: 30vw;
        width: auto;
        margin: 0 auto;
    }
    
}

/* news-detail */

#news.news-detail .cont {
    clear: both;
    overflow: hidden;
    line-height: 1.7;
    padding-bottom: 5px;
    border-bottom: 1px dashed #d2d2d2;
    margin-bottom: 35px;
}

#news.news-detail .cont figure {
    float: right;
    width: 42.7%;
    margin: 0 0 10px 20px;
}

#news.news-detail .cont p, #news.news-detail .cont dl dd, #news.news-detail .cont li, #news.news-detail .cont table {
    margin-bottom: 3%;
}

@media (max-width: 960px) {
    #news.news-detail {
        font-size: 14px;
        margin-bottom: 30px;
    }
    #news.news-detail .cont {
        line-height: 1.5;
        padding-bottom: 5px;
        margin-bottom: 20px;
    }
    #news.news-detail .cont figure.sp {
        display: block!important;
        clear: both;
        float: none;
        width: auto;
        text-align: center;
        padding: 1em 0;
        margin: 0 auto 10px;
    }
    #news.news-detail .cont figure img {
        width: 100%;
        max-width: 400px;
    }
    #news.news-detail .cont p, #news.news-detail .cont dl dd, #news.news-detail .cont li, #news.news-detail .cont table {
        margin-bottom: 1em;
    }
}

/*----------------------------------------------------
	document
----------------------------------------------------*/

/* document-list */

#document-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

#document-list dl {
    font-size: 16px;
    width: 47%;
    padding: 35px 40px;
    background: #f0e7d8;
    margin: 0 6% 60px 0;
}

#document-list dl:nth-child(2n) {
    margin-right: 0;
}

#document-list dl:nth-child(4n+2), #document-list dl:nth-child(4n+3) {
    background: #f0e3d8;
}

#document-list dl dt {
    color: #ef7b51;
    font-size: 20px;
    line-height: 1.2;
    margin-bottom: 15px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#document-list dl dd {
    clear: both;
    overflow: hidden;
}

#document-list dl dd figure {
    float: left;
    margin-right: 25px;
}

#document-list dl dd ul {
    overflow: hidden;
}

#document-list dl dd ul li {
    padding-left: 25px;
    position: relative;
}

#document-list dl dd ul li:before {
    content: "";
    width: 15px;
    height: 3px;
    background: #ef7b51;
    position: absolute;
    top: 12px;
    left: 0;
    display: block;
}

#document-list dl dd ul li a:hover {
    text-decoration: underline;
}

@media (max-width: 960px) {
    #document-list {
        margin-bottom: 25px;
    }
    #document-list dl {
        font-size: 14px;
        width: 100%;
        padding: 10px 15px;
        margin: 0 0 15px;
    }
    #document-list dl:nth-child(4n+3) {
        background: #f0e7d8;
    }
    #document-list dl:nth-child(4n+4) {
        background: #f0e3d8;
    }
    #document-list dl dt,
    #document-list dl dd {
        font-size: 4vw;
        margin-bottom: 0;
    }
    #document-list dl dd figure {
        max-width: 170px;
        width: 42.7%;
    }
    #document-list dl dd ul li {
        padding-left: 15px;
    }
    #document-list dl dd ul li:before {
        width: 10px;
        height: 2px;
        top: 10px;
    }
}

/* document-detail */

#document-detail {
    font-size: 16px;
    padding: 0px 50px;
    background: #fff;
    margin-bottom: 25px;
}

#document-detail figure > img {
    max-width: 100%;
    margin-bottom: 20px;
}

#document-detail .tag {
    color: #fff;
    font-size: 22px;
    letter-spacing: 3px;
    font-weight: bold;
    padding: 5px 40px;
    background: #5c4b2d;
    display: inline-block;
}

#document-detail h2.subtitle {
    color: #ef7b51;
    font-size: 26px;
    font-weight: bold;
}

#document-detail h2.subtitle:after {
    right: 0;
    margin: 0 auto;
}

#document-detail h3.subtitle {
    font-size: 20px;
    font-weight: bold;
}

#document-detail h3.subtitle:after {
    width: 40px;
}

#document-detail .note {
    line-height: 1.8;
}

#document-detail table.tb1 {
    width: 100%;
}

#document-detail table.tb1 th, #document-detail table.tb1 td {
    text-align: left;
    padding: 20px 25px;
    border-top: 1px solid #c9c9c9;
}

#document-detail table.tb1 tr:first-child th, #document-detail table.tb1 tr:first-child td {
    border-top: none;
}

#document-detail table.tb1 th {
    color: #5c4b2d;
    font-weight: bold;
    background: #fdf2ed;
}

#document-detail .clm3 {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    font-size: 14px;
}

#document-detail .clm3 div {
    width: 30%;
    margin-right: 5%;
}

#document-detail .clm3 div figure {
    margin-bottom: 10px;
}

#document-detail .clm3 div figure img {
    margin-bottom: 15px;
}

#document-detail .clm3 div figure figcaption {
    color: #5c4b2d;
    font-weight: bold;
}

#document-detail .clm3 div:nth-child(3n) {
    margin-right: 0;
}

#document-detail .tablewrap {
    margin-bottom: 75px;
}

#document-detail table.tb2 {
    width: 100%;
}

#document-detail table.tb2 th, #document-detail table.tb2 td {
    font-size: 12px;
    padding: 20px 12px;
    border-top: 1px solid #c9c9c9;
}

#document-detail table.tb2 .bd-right {
    border-right: 1px solid #c9c9c9;
}

#document-detail table.tb2 tr:first-child th, #document-detail table.tb2 tr:nth-child(2) th {
    border-top: none;
}

#document-detail table.tb2 th:nth-child(odd), #document-detail table.tb2 td:nth-child(odd) {
    background: #fdf2ed;
}

#document-detail table.tb2 th {
    color: #5c4b2d;
    font-weight: bold;
    vertical-align: middle;
    text-align: left;
}

#document-detail table.tb2 th.bg-orange, #document-detail table.tb2 tr.bg-light-orange th {
    color: #fff;
    font-size: 14px;
    text-align: center;
}

#document-detail table.tb2 tr.bg-light-orange th.bg-orange {
    background: #ef7b51;
}

#document-detail table.tb2 tr.bg-light-orange th {
    background: #f4a285;
}

#document-detail table.tb2 tr.title2 th {
    text-align: center;
}

#document-detail table.tb2 tr.title2 th:nth-child(odd) {
    background: #fff;
}

#document-detail table.tb2 tr.title2 th:nth-child(even) {
    background: #fdf2ed;
}

#document-detail table.tb2 td {
    text-align: center;
}

@media (max-width: 960px) {
    #document-detail {
        font-size: 14px;
        padding: 16px 12px;
        margin-bottom: 15px;
    }
    #document-detail .tag {
        font-size: 4vw;
        padding: 3px 22px;
    }
    #document-detail h2.subtitle {
        font-size: 5vw;
        margin-bottom: 0;
    }
    #document-detail h3.subtitle {
        font-size: 18px;
    }
    #document-detail table.tb1 th, #document-detail table.tb1 td {
        padding: 10px 15px;
    }
    #document-detail .clm3 {
        display: block;
        font-size: 12px;
    }
    #document-detail .clm3 div {
        width: auto;
        max-width: 350px;
        margin-right: auto!important;
        margin-left: auto!important;
    }
    #document-detail .clm3 div figure {
        text-align: center;
        margin-bottom: 5px;
    }
    #document-detail .clm3 div figure img {
        margin-bottom: 10px;
    }
    #document-detail .tablewrap {
        margin-bottom: 40px;
    }
    #document-detail table.tb2 th, #document-detail table.tb2 td {
        font-size: 10px;
        padding: 10px 5px;
    }
    #document-detail table.tb2 th.bg-orange, #document-detail table.tb2 tr.bg-light-orange th {
        font-size: 12px;
    }
}

/*----------------------------------------------------
	glossary
----------------------------------------------------*/

/* glossary-nav */

.glossary-nav {
    text-align: center;
    margin-bottom: 30px;
}

.glossary-nav dt {
    font-weight: bold;
    margin-bottom: 20px;
}

.glossary-nav dd a {
    box-sizing: content-box;
    display: inline-block;
    vertical-align: top;
    margin: 0 10px 20px;
    width: 2.9em;
    line-height: 2.9;
    color: #ef7b51;
    background: #fff;
    border: 2px solid #ef7b51;
}

.glossary-nav dd a:hover, .glossary-nav dd a.current {
    color: #fff;
    background: #ef7b51;
}

/* glossary-list */

#glossary.glossary-list {
    font-size: 16px;
    padding: 40px 60px 60px;
    background: #fff;
}

#glossary.glossary-list h2 {
    color: #ef7b51;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

#glossary.glossary-list h2 strong {
    font-size: 32px;
}

#glossary.glossary-list h2 strong span {
    color: #5c4b2d;
}

#glossary.glossary-list h2:after {
    content: "";
    display: block;
    width: 100px;
    height: 2px;
    margin: 10px auto 0;
    background: #ef7b51;
}

#glossary.glossary-list ul li:not(:last-child) {
    border-bottom: 1px solid #c9c9c9;
}

#glossary.glossary-list ul li a {
    display: table;
    width: 100%;
    height: 80px;
}

#glossary.glossary-list ul li a:hover, #glossary.glossary-list ul li a:hover h3 {
    color: #ef7b51!important;
}

#glossary.glossary-list ul li a h3 {
    width: 310px;
    padding: 30px 10px 12px 0;
    color: #5c4b2d;
    font-weight: bold;
    vertical-align: unset;
    opacity: 1;
}

#glossary.glossary-list ul li a h3 span {
    display: block;
    padding-left: 35px;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#glossary.glossary-list ul li a h3 span:before {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 10px;
    content: "";
    width: 20px;
    height: 3px;
    background: #ef7b51;
}

#glossary.glossary-list ul li a p {
    display: table-cell;
    padding: 10px 0;
    vertical-align: middle;
}

/* glossary-detail */

#glossary.glossary-detail {
    font-size: 16px;
    padding: 60px 60px 100px;
    background: #fff;
}

#glossary.glossary-detail h2 {
    font-size: 20px;
    font-weight: bold;
}

#glossary.glossary-detail h2.subtitle:after {
    width: 40px;
}

/* glossary-nav */

.glossary-nav {
    text-align: center;
    margin-bottom: 30px;
}

.glossary-nav dt {
    font-weight: bold;
    margin-bottom: 20px;
}

.glossary-nav dd a {
    box-sizing: content-box;
    display: inline-block;
    vertical-align: top;
    margin: 0 10px 20px;
    width: 3.0em;
    line-height: 2.9;
    color: #ef7b51;
    background: #fff;
    border: 2px solid #ef7b51;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.glossary-nav dd a:hover, .glossary-nav dd a.current {
    color: #fff;
    background: #ef7b51;
}

#glossary.glossary-detail .glossary-detailwrap {
    display: table;
    width: 100%;
    margin-bottom: 20px;
}

#glossary.glossary-detail .glossary-detailwrap div {
    display: table-cell;
    vertical-align: top;
    line-height: 1.6;
}

#glossary.glossary-detail .glossary-detailwrap figure {
    display: table-cell;
    vertical-align: top;
    width: 46%;
    padding-left: 4%;
}

@media (max-width: 960px) {
    #glossary.glossary-list {
        font-size: 14px;
    }
    /* glossary-nav */
    .glossary-nav {
        margin-bottom: 20px;
    }
    .glossary-nav dt {
        margin-bottom: 15px;
    }
    .glossary-nav dd a {
        margin: 0 5px 10px;
    }
    .glossary-nav dd a.current {
        color: #fff!important;
        background: #ef7b51!important;
    }
    .glossary-nav dd a:hover {
        color: #ef7b51;
        background: #fff;
    }
    /* glossary-list */
    #glossary.glossary-list {
        padding: 20px 30px 30px;
    }
    #glossary.glossary-list h2 {
        font-size: 20px;
    }
    #glossary.glossary-list h2 strong {
        font-size: 24px;
    }
    #glossary.glossary-list h2:after {
        width: 80px;
        margin: 5px auto 0;
    }
    #glossary.glossary-list ul li a {
        display: block;
        height: auto;
        padding: 15px 0;
    }
    #glossary.glossary-list ul li a:hover {
        opacity: 1;
    }
    #glossary.glossary-list ul li a h3 {
        display: block;
        width: auto;
        padding: 0 0 5px;
        color: #5c4b2d;
        font-weight: bold;
        vertical-align: middle;
    }
    #glossary.glossary-list ul li a h3 span {
        display: inline-block;
        padding-left: 35px;
        position: relative;
    }
    #glossary.glossary-list ul li a p {
        display: block;
        padding: 0;
    }
    /* glossary-detail */
    #glossary.glossary-detail {
        padding: 30px 30px 50px;
        background: #fff;
    }
    #glossary.glossary-detail .glossary-detailwrap {
        display: block;
    }
    #glossary.glossary-detail .glossary-detailwrap div {
        display: block;
        margin-bottom: 20px;
    }
    #glossary.glossary-detail .glossary-detailwrap figure {
        display: block;
        width: auto;
        padding-left: 0;
        text-align: center;
    }
}

/*----------------------------------------------------
	catalog
----------------------------------------------------*/

#catalog {
    font-size: 16px;
    padding: 40px 60px 60px;
    background: #fff;
}

#catalog h2 {
    font-size: 26px;
    font-weight: bold;
    text-align: center;
}

#catalog h2:after {
    margin: 0 auto;
    right: 0;
}

#catalog ul {
    overflow: hidden;
}

#catalog ul li {
    float: left;
    width: 21%;
    margin-right: 5.333333%;
    margin-bottom: 50px;
}

#catalog ul li:nth-child(4n) {
    margin-right: 0;
}

#catalog ul li:nth-child(4n+1) {
    clear: left;
}

#catalog ul li a {
    display: block;
    color: #5c4b2d;
}

#catalog ul li a:hover {
    opacity: 0.7;
}

#catalog ul li a figure {
    margin-bottom: 15px;
}

#catalog ul li a h3 {
    font-weight: bold;
    margin-bottom: 10px;
}

#catalog ul li a p {
    color: #ef7b51;
    font-size: 13px;
}

#catalog ul li a p small {
    font-size: 12px;
}

@media (max-width: 960px) {
    #catalog {
        padding: 30px;
    }
    #catalog h2 {
        font-size: 20px;
    }
    #catalog ul li {
        float: left;
        width: 30%;
        margin-right: 5%;
        margin-bottom: 30px;
    }
    #catalog ul li:nth-child(4n) {
        margin-right: 5%;
    }
    #catalog ul li:nth-child(4n+1) {
        clear: none;
    }
    #catalog ul li:nth-child(3n) {
        margin-right: 0;
    }
    #catalog ul li:nth-child(3n+1) {
        clear: left;
    }
    #catalog ul li a:hover {
        opacity: 1;
    }
    #catalog ul li a figure {
        margin-bottom: 10px;
    }
    #catalog ul li a h3 {
        margin-bottom: 5px;
    }
}

@media (max-width: 500px) {
    #catalog ul li {
        float: left;
        width: 47%;
        margin-right: 6%;
        margin-bottom: 30px;
    }
    #catalog ul li:nth-child(3n) {
        margin-right: 6%;
    }
    #catalog ul li:nth-child(3n+1) {
        clear: none;
    }
    #catalog ul li:nth-child(2n) {
        margin-right: 0;
    }
    #catalog ul li:nth-child(2n+1) {
        clear: left;
    }
}

/*----------------------------------------------------
	slide-index
----------------------------------------------------*/

.slide-index img {
    width: 100%;
}

/*----------------------------------------------------
.container-top
----------------------------------------------------*/

.container-top {
    margin: 40px 0 80px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
}

.container-top .text-index-jp {
    font-size: 24px;
    margin-bottom: 1.5em;
}

.container-top .text-index-jp .text-index-en-in {
    font-size: 16px;
    color: #ef7b51;
    font-family: laski-slab, sans-serif;
    font-weight: 600;
    letter-spacing: 3px;
    display: inline-block;
    margin: 0;
    vertical-align: top;
    padding-top: 7px;
}

@media (max-width: 960px) {
    .container-top {
        margin: 1em 0 5em;
    }
    .container-top .text-index-jp {
        font-size: 5.0vw;
        margin-bottom: 1.0em;
    }
    .container-top .text-index-jp .text-index-en-in {
        font-size: 3.0vw;
        padding-top: 7px;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	container-top-product
----------------------------------------------------*/

.container-top-product {
    width: 520px;
    box-shadow: 0px 0px 16px -3px rgba(0, 0, 0, 0.3);
    padding: 35px 40px 40px;
}

.product-body {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
}

.product-body .product-top__item {
    width: 140px;
    min-height: auto;
    margin-bottom: 6%;
}

.product-body .product-top__item:nth-child(10) {
    margin-bottom: 0;
}

.product-body .product-top__item:nth-child(11) {
    margin-bottom: 0;
}

.product-body .product-top__item a {
    /* padding: 20px 0; */
    text-align: center;
    font-size: 14px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    font-weight: bold;
    color: #3c311c;
}

.product-body .product-top__item .product-top__item__link {
    background: #f0e7d8;
    border: 1px solid #f0e6d8;
    width: 100%;
    height: 100%;
}

/* .product-body .product-top__item:nth-child(1) a {
    background: #f0e7d8;
}

.product-body .product-top__item:nth-child(2) a {
    background: #f0e6d8;
}

.product-body .product-top__item:nth-child(3) a {
    background: #f0e6d8;
}

.product-body .product-top__item:nth-child(4) a {
    background: #f0e5d8;
}

.product-body .product-top__item:nth-child(5) a {
    background: #f0e3d8;
}

.product-body .product-top__item:nth-child(6) a {
    background: #f0e3d8;
}

.product-body .product-top__item:nth-child(7) a {
    background: #f0e1d8;
}

.product-body .product-top__item:nth-child(8) a {
    background: #f0e0d8;
}

.product-body .product-top__item:nth-child(9) a {
    background: #f0dfd8;
}

.product-body .product-top__item:nth-child(10) a {
    background: #f0ded8;
}

.product-body .product-top__item:nth-child(11) a {
    background: #f0ddd8;
} */

.product-body .product-top__item a:hover {
    background: #fff;
}

.product-body .product-top__item .product-top__pic {
    min-height: 100px;
    max-height: 100px;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: #fff;
    padding: 5px;
    flex-direction: column;
    vertical-align: middle;
    margin: auto;
}

.product-body .product-top__item .product-top__pic img {
    width: auto;
    max-height: 100%;
    min-height: 100%;
    margin: auto;
}

.product-body .product-top__item:nth-child(12) {
    margin-bottom: 0;
    position: relative;
    border: none;
}

.product-body .product-top__item:nth-child(12) .btn-index-1 {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}

.product-body .product-top__item:nth-child(12) .btn-index-1 a {
    color: #fff;
    width: 140px;
    padding: 10px 0;
}

.product-body .product-top__item:nth-child(12) .btn-index-1 a:hover {
    color: #ef7b51;
}

.product-top__wrapper {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    height: 100%;
}
.product-top__nameWrap {
    vertical-align: middle;
    display: table;
    width: 100%;
    height: 40%;
    min-height: 60px;
    padding: 10px 0;
}
.product-top__name {
    vertical-align: middle;
    display: table-cell;
}
@media (max-width: 960px) {
    .product-top__wrapper {
        padding: 2vw;
        width: 100%;
        height: 100%;
    }
    .container-top-product {
        width: 100%;
        padding: 7vw;
    }
    .product-body {
        margin: 2em 0 0;
    }
    .product-body .product-top__item {
        width: 24vw;
        margin-bottom: 2vw;
    }
    .product-body .product-top__item a {
        padding: 0;
        font-size: 2.6vw;
        height: 36px;
    }
    .product-body .product-top__item .product-top__item__link {
        width: 100%;
        height: 100%;
    }
    .product-body .product-top__item .product-top__pic {
        min-height: 70px;
        max-height: 70px;
        width: 100%;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	container-top-news
----------------------------------------------------*/

.container-top-news-wrap {
    width: 520px;
}

.container-top-news {
    width: 520px;
    box-shadow: 0px 0px 16px -3px rgba(0, 0, 0, 0.3);
    padding: 30px 35px;
    margin-bottom: 60px;
}

.container-top-news:last-child {
    margin-bottom: 0;
}

.container-top-news .btn-index-1 a {
    width: 100%;
}

@media (max-width: 960px) {
    .container-top-news-wrap {
        width: 100%;
    }
    .container-top-news {
        width: 100%;
        padding: 7vw;
        margin: 2em 0;
    }
    .container-top-news .btn-index-1 a {
        width: 100%;
        height: 50px;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	news-list
----------------------------------------------------*/

.news-list {
    margin-bottom: 20px;
}

.news-list li {
    border-bottom: 1px solid #c9c9c9;
    margin-bottom: 15px;
    padding-bottom: 15px;
}

.news-list li:last-child {
    border-bottom: none;
}

.news-list li a {
    display: block;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
}

.news-list li .date {
    display: inline-block;
    width: 22%;
}

.news-list li .txt {
    display: inline-block;
    width: 78%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 960px) {
    .news-list {
        margin: 0;
    }
    .news-list li {
        margin-bottom: 2.5vw;
        padding-bottom: 2.5vw;
    }
    .news-list li a {
        padding: 0;
        font-size: 4vw;
    }
    .news-list li .date {
        display: block;
        width: 100%;
    }
    .news-list li .txt {
        display: block;
        width: 100%;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	list-catalog
----------------------------------------------------*/

.list-catalog {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
}

.list-catalog li {
    width: 18%;
}

.list-catalog li a {
    display: block;
}

.list-catalog li a:hover {
    opacity: 0.5;
}

.list-catalog li .img {
    margin-bottom: 10px;
}

.list-catalog li .tit {
    font-size: 12px;
    color: #5c4b2d;
    font-weight: bold;
}

.list-catalog li .btn {
    margin-top: 5px;
    font-size: 12px;
    color: #ef7b51;
    font-weight: bold;
}

@media (max-width: 960px) {
    .list-catalog::after {
        width: 31%;
        height: 0;
        content: '';
    }
    .list-catalog li {
        width: 45%;
        margin-bottom: 5%;
    }
    .list-catalog li .img {
        margin-bottom: 10px;
    }
    .list-catalog li .tit {
        font-size: 4vw;
        color: #5c4b2d;
        font-weight: bold;
    }
    .list-catalog li .btn {
        margin-top: 5px;
        font-size: 3vw;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	block-logout
----------------------------------------------------*/

.block-logout {
    margin: 10em 0;
    text-align: center;
}

.block-logout .tit-logout {
    font-size: 26px;
    font-weight: bold;
    color: #ef7b51;
    margin-bottom: 1em;
}

@media (max-width: 960px) {}

@media (max-width: 500px) {}

/*----------------------------------------------------
header-nav-inner	
----------------------------------------------------*/

@media (max-width: 960px) {
    .header-nav-inner {
        overflow: scroll;
        display: flex;
        flex-direction: column;
        padding-bottom: 100px;
    }
    .header-nav-inner .header-action {
        width: 100vw;
        order: 2;
        display: block;
        padding-top: 0;
    }
    .header-nav-inner .header-nav__nav {
        width: 100vw;
        order: 1;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	container-wide
----------------------------------------------------*/

.container-wide {
    max-width: 1200px;
    margin: auto;
}

@media (max-width: 960px) {
    .container-wide {
        margin: 0 3vw;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
product-headerB__wrap
----------------------------------------------------*/

.product-headerB__inner {
    background: #fff;
    padding: 40px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
}

.product-headerB__inner .product-headerB__pic {
    width: 21.78%;
}

.product-headerB__inner .product-headerB__data {
    width: 44.30%;
}

.product-headerB__inner .product-headerB__info {
    width: 27.67%;
}

.product-headerB__pic .product-header-pic-thumb > a > div,
.product-header__pic .product-header-pic-thumb > a > div {
    width: 80px;
    height: 80px;
    border: 1px solid #c9c9c9;
    -webkit-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
    text-align: center;
    vertical-align: middle;
    padding: 5px;
}

@media (max-width: 960px) {
    .product-headerB__inner {
        padding: 10vw 5vw;
    }
    .product-headerB__inner .product-headerB__pic {
        width: 100%;
    }
    .product-headerB__inner .product-headerB__data {
        width: 100%;
    }
    .product-headerB__inner .product-headerB__info {
        width: 100%;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	product-headerB__list
----------------------------------------------------*/

.product-headerB__list {
    margin-bottom: 1.0em;
    line-height: 1.65;
}

.product-headerB__list--movie {
    margin-top: 1em;
}

.product-headerB__list dt {
    font-size: 18px;
    font-weight: bold;
    color: #ef7b51;
    position: relative;
    padding-left: 1em;
}

.product-headerB__list dt::after {
    position: absolute;
    left: 0;
    top: 50%;
    content: '';
    height: 2px;
    width: 0.5em;
    background: #ef7b51;
}

.product-headerB__list dd {
    font-size: 16px;
}

.product-headerB__list dd li {
    margin-left: 1em;
    text-indent: -1em;
}

.product-headerB__list dd .img {
    border: 1px solid #dcdcdc;
    margin-top: 0.5em;
}

.product-headerB__list dd .list-movie {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
    margin-top: 0.5em;
}

.product-headerB__list dd .list-movie li {
    width: 29%;
    margin: 0;
    text-indent: 0;
}

.product-headerB__list dd .list-movie li a {
    display: block;
}

.product-headerB__list dd .list-movie li a:hover {
    opacity: 0.5;
}

@media (max-width: 960px) {
    .product-headerB__list {
        margin-bottom: 1.0em;
    }
    .product-headerB__list--movie {
        margin-top: 1em;
    }
    .product-headerB__list dt,
    .product-headerB__list dd {
        font-size: 4.0vw;
    }
    .product-headerB__list dd li {
        margin-left: 1em;
        text-indent: -1em;
    }
    .product-headerB__list dd .list-movie li {
        width: 32%;
    }
    .product-headerB__list dd .list-movie li a:hover {
        opacity: 1.0;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	bnr-contact
----------------------------------------------------*/

#bnr-contact {
    position: fixed;
    right: 0;
    top: 40%;
    width: 70px;
    z-index: 9000;
}

#bnr-contact a {
    display: block;
    background: #ef7b51;
    color: #fff;
    text-align: center;
    line-height: 1.2;
    font-size: 24px;
    font-weight: bold;
    padding: 40px 0;
    box-shadow: 0px 0px 16px -3px rgba(0, 0, 0, 0.2);
}

#bnr-contact a:hover {
    opacity: 0.5;
}

@media (max-width: 960px) {
    #bnr-contact {
        position: fixed;
        right: 0;
        top: 35%;
        width: 10vw;
    }
    #bnr-contact a {
        font-size: 4.0vw;
        padding: 10vw 0;
    }
    #bnr-contact a:hover {
        opacity: 1.0;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	youtube
----------------------------------------------------*/

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

@media (max-width: 960px) {}

@media (max-width: 500px) {}

/*----------------------------------------------------
block-member	
----------------------------------------------------*/

.block-member {
    background: #fff;
    padding: 30px 60px 0px;
}

.title-member {
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 40px;
}

.form-member {
    margin-bottom: 35px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
}

.form-member .title {
    width: 30%;
    position: relative;
    padding-left: 4%;
}

.form-member .title::after {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    width: 20px;
    height: 3px;
    background: #ef7b51;
}

.form-member .title--bdn::after {
    content: none;
}

.form-member .title .txt {
    font-weight: bold;
    font-size: 16px;
    color: #5c4b2d;
    margin-right: 1em;
}

.form-member .title .required {
    font-weight: bold;
    font-size: 10px;
    color: #fff;
    background: #ef7b51;
    display: inline-block;
    padding: 2px 10px;
}

.form-member .error-txt {
    color: #f00;
    font-size: 14px;
    font-weight: bold;
    margin-top: 5px;
}

.form-member .input {
    width: 70%;
}

.form-member .input input, .form-member .input textarea {
    padding: 8px 15px;
    border: 1px solid #b0b0b0;
    font-weight: bold;
    font-size: 14px;
}
.form-member .input textarea {
    width: 100%;
}
.form-member .input input::placeholder {
    color: #aaa;
}

.form-member .input .w1 {
    width: 96%;
}

.form-member .input .w2 {
    width: 60%;
}

.form-member .input .w3 {
    width: 36%;
}

.form-member .label {
    display: inline-block;
    margin: 0 30px 10px 0;
    line-height: 1;
}

.form-member .label input {
    margin: 2px 5px 0 0;
    transform: scale(1.25);
}

.thanks-member {
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    margin: 4em 0;
}

.thanks-member {
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    margin: 4em 0;
}

.complete-member {
    text-align: center;
    margin-bottom: 4em;
    line-height: 1.8;
    font-size: 18px;
}
.block-member .updateCustomer {
    color: #ffffff;
    border: 1px solid #ef7b51;
    background: #ef7b51;
    cursor: pointer;
    text-align: center;
    vertical-align: middle;
    padding: 8px 20px;
    margin-left: 1em;
}
.block-member .updateCustomer, .block-member .updateCustomer a{
    color: #ffffff;
    font-size: 16px;
    -webkit-transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out, -webkit-box-shadow .3s ease-out;

}
.block-member .updateCustomer:hover {
    color: #ef7b51;
    background: #ffffff;
    border: 1px solid #ef7b51;
    padding: 8px 20px;

}
.block-member .updateCustomer a:hover {
    color: #ef7b51;
}


@media (max-width: 960px) {
    .block-member {
        padding: 0 3.0vw;
    }
    .block-member .title-member {
        font-size: 4vw;
        margin-bottom: 6vw;
    }
    .form-member {
        margin-bottom: 6vw;
    }
    .form-member .title {
        width: 94%;
        position: relative;
        padding-left: 6%;
        margin-bottom: 2vw;
    }
    .form-member .title::after {
        top: 50%;
        width: 4.5%;
    }
    .form-member .title .txt {
        font-size: 4vw;
        color: #5c4b2d;
        margin-right: 1em;
    }
    .form-member .title .required {
        font-size: 2.8vw;
        padding: 1px 10px;
    }
    .form-member .input {
        width: 100%;
        font-size: 4vw;
    }
    .form-member .input input {
        padding: 2vw 4vw;
        font-size: 4vw;
    }
    .form-member .input .w1 {
        width: 100%;
    }
    .form-member .input .w2 {
        width: 100%;
    }
    .form-member .input .w3 {
        width: 70%;
    }
    .form-member .label {
        margin: 0 10px 10px 0;
    }
    .form-member .label input {
        margin: 2px 4px 0 0;
        transform: scale(1.10);
    }
    .thanks-member {
        font-size: 4vw;
        margin: 4em 0;
    }
    .complete-member {
        font-size: 4vw;
    }
    .block-member .updateCustomer, .block-member .updateCustomer a{
        font-size: 4vw;
    }
    .block-member .updateCustomer {
        /* padding: 4px 12px; */
        margin-left: 0;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
btn-member
----------------------------------------------------*/

.btn-member {
    margin-top: 55px;
    margin-bottom: 30px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-flex-pack: justify;
    flex-direction: row;
}

.btn-member--center {
    justify-content: center !important;
}

.btn-member--sb {
    justify-content: space-between !important;
}

.btn-member .btn-submit {
    position: relative;
    width: 450px;
    display: inline-block;
}

.btn-member .btn-submit--s {
    width: 300px;
    margin: 0 20px;
}

.btn-member--sb .btn-back, .btn-member--sb .btn-submit {
    width: 46% !important;
    margin: 0 !important;
}

.btn-member .btn-submit::after {
    content: '';
    position: absolute;
    right: 10px;
    top: 42%;
    width: 10px;
    height: 10px;
    z-index: 100;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
}

.btn-member .btn-submit:hover::after {
    border-right: 2px solid #ef7b51;
    border-bottom: 2px solid #ef7b51;
}

.btn-member .btn-submit input {
    border: 1px solid #ef7b51;
    background: #ef7b51;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    display: inline-block;
    padding: 10px 0;
    width: 100%;
    cursor: pointer;
    position: relative;
    -webkit-transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out, -webkit-box-shadow .3s ease-out;
}

.btn-member .btn-submit input:hover {
    background: #fff;
    color: #ef7b51;
}

.btn-member .btn-back {
    width: 300px;
    display: inline-block;
    margin: 0 20px;
}

.btn-member .btn-back a {
    display: block;
    border: 1px solid #aaa;
    background: #aaa;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
    padding: 10px 0;
    text-align: center;
    position: relative;
}

.btn-member .btn-back a::after {
    content: '';
    position: absolute;
    left: 10px;
    top: 42%;
    width: 10px;
    height: 10px;
    z-index: 100;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(135deg);
}

.btn-member .btn-back a:hover {
    background: #fff;
    color: #aaa;
}

.btn-member .btn-back a:hover::after {
    border-right: 2px solid #aaa;
    border-bottom: 2px solid #aaa;
}

@media (max-width: 960px) {
    .btn-member {
        margin-top: 12vw;
    }
    .btn-member .btn-submit {
        width: 100%;
        margin: 0.5em 0;
    }
    .btn-member .btn-submit::after {
        top: 40%;
    }
    .btn-member .btn-back a {
        font-size: 4.4vw;
    }
    .btn-member .btn-submit input {
        font-size: 4.4vw;
    }
    .btn-member .btn-back {
        width: 100%;
        margin: 0.5em 0;
    }
    .btn-member--sb .btn-back, .btn-member--sb .btn-submit {
        width: 100% !important;
        margin: 0.5em 0 !important;
    }
}

@media (max-width: 500px) {}

.buttons {
    margin: 40px 0;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media (max-width: 960px) {
    .buttons {
        display: block;
    }
}

/*----------------------------------------------------
confirm-mailmagazine	
----------------------------------------------------*/

.confirm-mailmagazine {
    text-align: center;
    font-size: 110%;
    margin: 4em 0;
}

@media (max-width: 960px) {
    .confirm-mailmagazine {
        font-size: 3.80vw;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	title-name
----------------------------------------------------*/
.title-name_wrap {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: justify;
    margin-bottom: 35px;
}
.title-name {
    /* margin-bottom: 35px; */
    color: #ef7b51;
}

.title-name .ico {
    font-size: 24px;
    color: #5c4b2d;
    margin-right: 5px;
}

.title-name .name {
    font-size: 24px;
}

.title-name .txt {
    font-size: 18px;
}

@media (max-width: 960px) {
    .title-name_wrap, .title-name {
        margin-bottom: 1em;
    }
    .title-name .ico {
        font-size: 4.0vw;
    }
    .title-name .name {
        font-size: 4.5vw;
    }
    .title-name .txt {
        font-size: 3.0vw;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	tab-mypage-head
----------------------------------------------------*/

.tab-mypage-head {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
    border-bottom: 3px solid #ef7b51;
    margin-bottom: 15px;
}

.tab-mypage-head li {
    width: 48%;
    text-align: center;
}

.tab-mypage-head li a {
    display: block;
    background: #eee;
    font-size: 24px;
    color: #ef7b51;
    padding: 0.75em 0;
}

.tab-mypage-head li a.on, .tab-mypage-head li a:hover {
    background: #ef7b51;
    color: #fff;
}

@media (max-width: 960px) {
    .tab-mypage-head {
        margin-bottom: .5em;
    }
    .tab-mypage-head li {
        width: 49%;
    }
    .tab-mypage-head li a {
        font-size: 3.5vw;
        padding: 3vw 0;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	list-address
----------------------------------------------------*/

.list-address {
    margin-bottom: 30px;
}

.list-address .list-address-single {
    border-bottom: 1px solid #c9c9c9;
    padding: 25px 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
}

.list-address .list-address-num {
    border: 1px solid #ef7b51;
    width: 70px;
    height: 70px;
    line-height: 70px;
    text-align: center;
    color: #ef7b51;
    font-size: 20px;
}

.list-address .list-address-info {
    width: 605px;
}

.list-address .list-address-info .name {
    font-size: 18px;
}

.list-address .list-address-btn {
    width: 140px;
}

.list-address .list-address-btn a {
    display: block;
    border: 1px solid #ef7b51;
    background: #ef7b51;
    color: #fff;
    font-size: 18px;
    text-align: center;
    padding: 1em 0;
    position: relative;
}

.list-address .list-address-btn a .fas {
    position: absolute;
    right: 8%;
    top: 38%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
}

.list-address .list-address-btn a:hover {
    border: 1px solid #ef7b51;
    background: #fff;
    color: #ef7b51;
}

.list-address .list-address-btn a:hover .fas {
    -webkit-transform: translate(.5em, 0);
    transform: translate(.5em, 0);
}

@media (max-width: 960px) {
    .list-address {
        margin-bottom: 1em;
    }
    .list-address .list-address-single {
        padding: 3vw 0;
    }
    .list-address .list-address-num {
        border: 1px solid #ef7b51;
        width: 8vw;
        height: 8vw;
        line-height: 8vw;
        font-size: 4vw;
    }
    .list-address .list-address-info {
        width: 55vw;
        font-size: 2.85vw;
    }
    .list-address .list-address-info .name {
        font-size: 3.25vw;
    }
    .list-address .list-address-btn {
        width: 15vw;
    }
    .list-address .list-address-btn a {
        font-size: 3.25vw;
        padding: 1.5vw 0;
    }
    .list-address .list-address-btn a .fas {
        font-size: 2.50vw;
        position: absolute;
        right: 1vw;
        top: 38%;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
	btn-address
----------------------------------------------------*/

.btn-address {
    text-align: right;
}

.btn-address a {
    display: inline-block;
    width: 353px;
    border: 1px solid #ef7b51;
    background: #ef7b51;
    color: #fff;
    font-size: 20px;
    text-align: center;
    padding: 0.75em 0;
    position: relative;
}

.btn-address a .fas {
    position: absolute;
    right: 4%;
    top: 36%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
}

.btn-address a:hover {
    border: 1px solid #ef7b51;
    background: #fff;
    color: #ef7b51;
}

.btn-address a:hover .fas {
    -webkit-transform: translate(.5em, 0);
    transform: translate(.5em, 0);
}

@media (max-width: 960px) {
    .btn-address a {
        width: 70%;
        font-size: 4.0vw;
        padding: 3vw 0;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
form-address	
----------------------------------------------------*/

.form-address {
    background: #fff;
    padding: 45px 45px 30px;
    text-align: left;
}

.form-address .btn-member {
    margin: 0;
    justify-content: space-between;
}

.form-address .btn-member .btn-back {
    margin: 0;
    width: 49%;
}

.form-address .btn-member .btn-back a {
    padding: 15px 0;
}

.form-address .btn-member .btn-submit {
    margin: 0;
    width: 49%;
}

.form-address .btn-member .btn-submit input {
    padding: 15px 0;
}

@media (max-width: 960px) {
    .form-address {
        padding: 4vw;
    }
    .form-address .btn-member .btn-back {
        margin: 0.25em 0;
        width: 100%;
    }
    .form-address .btn-member .btn-back a {
        padding: 2.0vw 0;
    }
    .form-address .btn-member .btn-submit {
        margin: 0.25em 0;
        width: 100%;
    }
    .form-address .btn-member .btn-submit input {
        padding: 2.0vw 0;
    }
    .form-address .form-member {
        margin-bottom: 0.5em;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
txt-cart	
----------------------------------------------------*/

.txt-cart {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 30px;
}

@media (max-width: 960px) {
    .txt-cart {
        font-size: 4.0vw;
        margin-bottom: 1em;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
table-cart	
----------------------------------------------------*/

.table-cart {
    margin-bottom: 20px;
}

.table-cart table {
    width: 100%;
}

.table-cart table th {
    background: #f0e7d8;
    color: #5c4b2d;
    font-weight: bold;
}

.table-cart table td, .table-cart table th {
    text-align: center;
    padding: 15px;
    font-size: 14px;
}

.table-cart table td {
    border-bottom: 1px solid #c9c9c9;
}

.table-cart table th:nth-child(2), .table-cart table td:nth-child(2) {
    text-align: left;
    width: 40%;
}

.table-cart table td:nth-child(1) {
    font-weight: bold;
}

.table-cart table th:nth-child(6), .table-cart table td:nth-child(6) {
    font-weight: bold;
    width: 10%;
}

.table-cart table td .number {
    width: 4.5em;
}

.table-cart table td .delete {
    background: #ef7b51;
    color: #fff;
    padding: 5px 14px;
    display: block;
    border: 1px solid #ef7b51;
}

.table-cart table td .delete:hover {
    color: #ef7b51;
    background: #fff;
}

.table-cart > form > dl a {
    cursor: pointer;
    color: #007BFF;

}
.table-cart > form > dl a:hover {
    text-decoration: underline;
}

.table-cart .table-responsive {
    overflow: hidden;
    overflow-x: auto;
}

@media (max-width: 960px) {
    .table-cart {
        margin-bottom: 0.5em;
    }
    .table-cart table {
        width: 100%;
    }
    .table-cart table td, .table-cart table th {
        text-align: center;
        padding: 10px 8px;
        font-size: 4vw;
        vertical-align: middle;
    }
    .table-cart table th:nth-child(2), .table-cart table td:nth-child(2) {
        text-align: left;
        width: 60vw;
        min-width: 60vw;
    }
    .table-cart table td:nth-child(1) {
        font-weight: bold;
    }
    .table-cart table th:nth-child(6), .table-cart table td:nth-child(6) {
        font-weight: bold;
        width: 20vw;
        min-width: 20vw;
    }
    .table-cart table td .number {
        width: 3.0em;
    }
    .table-cart table td .delete {
        padding: 0px 4px;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
price-total	
----------------------------------------------------*/

.price-total {
    text-align: right;
    color: #5c4b2d;
    margin-bottom: 30px;
}

.price-total .txt {
    font-size: 20px;
}

.price-total .num {
    font-size: 40px;
}

@media (max-width: 960px) {
    .price-total {
        margin-bottom: 1em;
    }
    .price-total .txt {
        font-size: 3.5vw;
    }
    .price-total .num {
        font-size: 7.5vw;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
price-next	
----------------------------------------------------*/

.price-next {
    text-align: right;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction : row-reverse;
    margin-bottom: 30px;
}

.price-next a {
    display: block;
    background: #ef7b51;
    color: #fff;
    padding: 15px 60px;
    position: relative;
    font-size: 20px;
    border: 1px solid #ef7b51;
    width: 38%;
    text-align: center;
}

.price-next a:hover {
    background: #fff;
    color: #ef7b51;
}

.price-next a .fa-chevron-left {
    font-size: 16px;
    position: absolute;
    left: 5%;
    top: 35%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
}
.price-next a .fa-chevron-right {
    font-size: 16px;
    position: absolute;
    right: 5%;
    top: 35%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
}

.price-next a:hover .fas {
    -webkit-transform: translate(.5em, 0);
    transform: translate(.5em, 0);
}

@media (max-width: 960px) {
    .price-next a {
        padding: 2vw 3vw;
        font-size: 2vw;
    }
    .price-next a .fa-chevron-left {
        font-size: 2vw;
        position: absolute;
        left: 2vw;
        top: 40%;
    }
    .price-next a .fa-chevron-right {
        font-size: 2vw;
        position: absolute;
        right: 2vw;
        top: 40%;
    }
    .price-next a:hover .fas {
        -webkit-transform: translate(.5em, 0);
        transform: translate(.5em, 0);
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
title-2nd	
----------------------------------------------------*/

.title-2nd {
    font-size: 30px;
    color: #5c4b2d;
    position: relative;
    margin-bottom: 70px;
}

.title-2nd--mb1 {
    margin-bottom: 35px;
}

.title-2nd::after {
    position: absolute;
    left: 0;
    bottom: -.5em;
    content: '';
    width: 2em;
    height: 3px;
    background: #ef7b51;
}

@media (max-width: 960px) {
    .title-2nd {
        font-size: 6.0vw;
        margin-bottom: 1.5em;
    }
    .title-2nd--mb1 {
        margin-bottom: 1.0em;
    }
    .title-2nd::after {
        bottom: -.5em;
        width: 1.5em;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
order-history	
----------------------------------------------------*/

.order-history {
    margin-bottom: 90px;
}

@media (max-width: 960px) {
    .order-history {
        margin-bottom: 15vw;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
list-history	
----------------------------------------------------*/

.list-history {
    margin-bottom: 20px;
}

.list-history .list-history-head {
    background: #eee;
    border-radius: 10px;
    padding: 15px 20px;
    margin-bottom: 10px;
    cursor: pointer;
    position: relative;
}

.list-history--contact .list-history-head {
    border-radius: 100px;
    padding: 15px 30px;
}

.list-history .list-history-head .date {
    font-size: 18px;
    color: #5c4b2d;
    font-weight: bold;
    display: inline-block;
}

.list-history .list-history-head .tag {
    font-size: 14px;
    color: #fff;
    font-weight: bold;
    display: inline-block;
    background: #ef7b51;
    padding: 1px;
    width: 15%;
    text-align: center;
}

.list-history .list-history-head .tag--complete {
    opacity: 0.65;
}

.list-history .list-history-head .txt {
    font-size: 18px;
    color: #5c4b2d;
    font-weight: bold;
    margin-top: 10px;
}

.list-history .list-history-head .icon {
    font-size: 38px;
    color: #ef7b51;
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translate(-50%, -50%);
}

.list-history--contact .list-history-head .icon {
    font-size: 26px;
    right: 1%;
}

.list-history .list-history-head .name {
    font-size: 18px;
    color: #ef7b51;
    font-weight: bold;
    display: inline-block;
}

.list-history .list-history-body {
    background: #eee;
    border-radius: 10px;
    padding: 15px 20px;
    margin-bottom: 10px;
    position: relative;
    display: none;
}

@media (max-width: 960px) {
    .list-history {
        margin-bottom: 5vw;
    }
    .list-history .list-history-head {
        padding: 1vw 8vw 2vw 3vw;
        margin-bottom: 3vw;
    }
    .list-history--contact .list-history-head {
        padding: 1vw 8vw 2vw 3vw;
    }
    .list-history .list-history-head .date {
        font-size: 3.25vw;
    }
    .list-history .list-history-head .tag {
        font-size: 2.4vw;
        padding: 0px 1vw;
        width: auto;
    }
    .list-history .list-history-head .tag--complete {
        opacity: 0.65;
    }
    .list-history .list-history-head .txt {
        font-size: 3.25vw;
        margin-top: 1vw;
    }
    .list-history .list-history-head .icon {
        font-size: 5vw;
    }
    .list-history--contact .list-history-head {
        border-radius: 10px;
    }
    .list-history--contact .list-history-head .icon {
        font-size: 5vw;
    }
    .list-history .list-history-head .name {
        font-size: 3.25vw;
        margin-top: 0;
        display: block;
    }
    .list-history .list-history-body {
        padding: 2vw;
        margin-bottom: 1vw;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
table-order
----------------------------------------------------*/

.table-order {
    margin-bottom: 15px;
    background: #fff;
}

.table-order table {
    width: 100%;
}

.table-order table th {
    background: #ef7b51;
    color: #fff;
    font-weight: bold;
    text-align: center;
    font-size: 16px;
    padding: 15px;
}

.table-order table th:nth-child(3) {
    width: 40%;
}

.table-order table th:nth-child(3), .table-order table td:nth-child(3) {
    text-align: left;
}

.table-order table td {
    font-size: 16px;
    text-align: center;
    padding: 15px;
    border-bottom: 1px solid #ccc;
}

.table-order table td:nth-child(4) input {
    width: 4em;
}
.table-order table td:nth-child(4) input[type="number"],
.table-order table td:nth-child(5),
.table-order table td:nth-child(6) {
    text-align: right;
    font-size: 18px;
}

.table-order table .total th {
    background: #dcdcdc;
    color: #000;
    border-bottom: 1px solid #ccc;
}

.table-order table .total:last-child th {
    border-bottom: none;
}

.table-order table .total td {
    border-bottom: none;
    text-align: center;
}

.table-order table .total td:nth-child(3) {
    border-bottom: 1px solid #ccc;
    text-align: right;
    font-size: 18px
}

.table-order table .total:last-child td {
    border-bottom: none;
}

@media (max-width: 960px) {
    .table-order {
        margin-bottom: 3vw;
        overflow: hidden;
        overflow-x: auto;
    }
    .table-order table th {
        font-size: 2.25vw;
        padding: 3vw 1vw;
    }
    .table-order table th:nth-child(3) {
        width: 20%;
    }
    .table-order table td {
        font-size: 2.25vw;
        padding: 2vw 1vw;
    }
    .table-order table td:nth-child(4) input {
        width: 3em;
    }
    .table-order table td:nth-child(4) input[type="number"],
    .table-order table td:nth-child(5),
    .table-order table td:nth-child(6) {
        font-size: 3vw;
    }
    .table-order table .total td:nth-child(3) {
        font-size: 3vw;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
table-shipping
----------------------------------------------------*/
.table-shipping {
    padding: 10px 20px;
    margin-bottom: 15px;
    background: #fff;
}

.table-shipping h3{
    /* font-weight: bold;
    color: #5c4b2d; */
    margin-bottom: .2em;
}

.table-shipping table {
    width: 100%;
    text-align: left;
    font-size: 16px;
}

.table-shipping table th, .table-shipping table td {
    border: 1px solid #ccc;
    padding: 5px 14px;
}

.table-shipping table th {
    width: 30%;
    text-align: center;
    background: #f0ddd8;
}

.table-shipping table td {
    width: 70%;
    word-break: break-all;
}

@media (max-width: 960px) {
    .table-shipping {
        padding: 1vw 2vw;
        margin-bottom: 3vw;
        overflow: hidden;
        overflow-x: auto;
    }
    .table-shipping h3{
        margin-bottom: .5em;
        font-size: 3vw;
    }
    
    .table-shipping table {
        font-size: 2.25vw;
    }
      
}

/*----------------------------------------------------
order-btn	
----------------------------------------------------*/

.order-btn {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
    margin-bottom: 10px;
}

.order-btn .date {
    color: #5c4b2d;
    font-weight: bold;
    line-height: 1.8;
}

.order-btn .btn a {
    display: inline-block;
    background: #ef5155;
    border: 1px solid #ef5155;
    color: #fff;
    font-size: 20px;
    padding: 15px 80px;
    font-weight: bold;
    position: relative;
}

.order-btn .btn a .icon {
    font-size: 24px;
    position: absolute;
    left: 5%;
    top: 50%;
    transform: translate(0, -50%);
}

.order-btn .btn a .arrow {
    font-size: 24px;
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translate(0, -50%);
}

.order-btn .btn a:hover {
    color: #ef5155;
    background: #fff;
}

@media (max-width: 960px) {
    .order-btn {
        margin-bottom: 3vw;
    }
    .order-btn .date {
        font-size: 2.85vw;
    }
    .order-btn .btn a {
        font-size: 3.65vw;
        padding: 2vw 8vw;
    }
    .order-btn .btn a .icon {
        font-size: 3.25vw;
    }
    .order-btn .btn a .arrow {
        font-size: 3.25vw;
    }
    .order-btn .btn a:hover {
        color: #ef5155;
        background: #fff;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
price-order	
----------------------------------------------------*/

.price-order {
    text-align: right;
    color: #5c4b2d;
    margin-bottom: 10px;
}

.price-order .l {
    font-size: 40px;
}

.price-order .s {
    font-size: 12px;
}

@media (max-width: 960px) {
    .price-order {
        margin-bottom: 2vw;
    }
    .price-order .l {
        font-size: 6.25vw;
    }
    .price-order .s {
        font-size: 2.80vw;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
table-contact	
----------------------------------------------------*/

.table-contact {
    margin-bottom: 25px;
}

.table-contact table {
    width: 100%;
}

.table-contact table th {
    color: #fff;
    background: #ef7b51;
    padding: 15px;
    width: 20%;
    text-align: left;
    font-weight: bold;
    font-size: 14px;
}

.table-contact table td {
    background: #fff;
    font-weight: bold;
    font-size: 14px;
    padding: 15px;
    border-bottom: 1px solid #ccc;
}

.table-contact table tr:last-child td {
    border-bottom: none;
}

@media (max-width: 960px) {
    .table-contact {
        margin-bottom: 5vw;
    }
    .table-contact table th {
        padding: 2vw;
        width: 35%;
        font-size: 2.25vw;
    }
    .table-contact table td {
        font-size: 2.25vw;
        padding: 2vw;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
title-table-contact	
----------------------------------------------------*/

.title-table-contact {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 16px;
    color: #5c4b2d;
}

@media (max-width: 960px) {
    .title-table-contact {
        margin-bottom: 2vw;
        font-size: 3.25vw;
    }
}

@media (max-width: 500px) {}

/*----------------------------------------------------
btn-order-wrap	
----------------------------------------------------*/

.btn-order-wrap {
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-flex-pack: justify;
    margin-bottom: 10px;
}

.btn-order-wrap .btn-order {
    width: 35%;
    margin: 0 1.5%;
}

.btn-order-wrap .btn-order a {
    display: block;
    background: #ef5155;
    border: 1px solid #ef5155;
    color: #fff;
    font-size: 20px;
    padding: 15px 0;
    font-weight: bold;
    position: relative;
}

.btn-order-wrap .btn-order a .icon {
    font-size: 24px;
    position: absolute;
    left: 5%;
    top: 50%;
    transform: translate(0, -50%);
}

.btn-order-wrap .btn-order a .arrow {
    font-size: 24px;
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translate(0, -50%);
}

.btn-order-wrap .btn-order a:hover {
    color: #ef5155;
    background: #fff;
}

@media (max-width: 960px) {
    .btn-order-wrap {
        -webkit-justify-content: space-between;
        justify-content: space-between;
        margin-bottom: 2vw;
    }
    .btn-order-wrap .btn-order {
        width: 48%;
        margin: 0;
    }
    .btn-order-wrap .btn-order a {
        font-size: 3.00vw;
        padding: 2vw 0;
    }
    .btn-order-wrap .btn-order a .icon {
        font-size: 3.0vw;
    }
    .btn-order-wrap .btn-order a .arrow {
        font-size: 3.0vw;
    }
}

/*----------------------------------------------------
simulation-section02-C__form
----------------------------------------------------*/

.simulation-section02-D__form-wrap {
    overflow: hidden;
}

.simulation-section02-D__form {
    overflow: hidden;
    margin-bottom: 1em;
}

.simulation-section02-D__form:last-child {
    margin-bottom: 0em;
}

.simulation-section02-D__form dt {
    color: #5c4b2d;
    font-size: 16px;
    font-weight: 600;
    float: left;
    width: 25%;
    margin: 5px 5px 0 0;
}

.simulation-section02-D__form dd {
    float: left;
    width: 70%;
    font-size: 14px;
}

.simulation-section02-D__form dd input, .simulation-section02-D__form dd select {
    border-radius: 4px;
    width: 70%;
    border: 1px solid #dddddd;
    margin-right: 2%;
}

.simulation-section02-D__form dd select {
    border: 1px solid #bdbdbd;
}

@media (min-width: 961px) {
    .simulation-section02-D__form {
        overflow: hidden;
        float: left;
        width: 55%;
        margin-bottom: 0;
    }
    .simulation-section02-D__form:nth-child(2) {
        float: right;
        width: 45%;
    }
    .simulation-section02-D__form dt {
        font-size: 24px;
        margin: 3px 10px 0 0;
    }
    .simulation-section02-D__form dt.city {
        width: 8%;
    }
    .simulation-section02-D__form dd {
        font-size: 18px;
        margin-top: 5px;
    }
    .simulation-section02-D__form dd input, .simulation-section02-D__form dd select {
        border-radius: 4px;
        border: 1px solid #dddddd;
        width: 200px;
        padding: 5px;
        font-size: 16px;
    }
}

/*----------------------------------------------------
simulation-section-A
----------------------------------------------------*/

.simulation-section-A {
    margin: 2em 0 0;
}

.simulation-section-A .title {
    margin: 4em 0 2em;
    color: #5c4b2d;
    font-weight: bold;
    background: #f0e7d8;
    padding: 5px 10px;
    position: relative;
}

.simulation-section-A .title .img {
    position: absolute;
    left: 10px;
    bottom: 5px;
    width: 15vw;
    height: 15vw;
    border: 1px solid #c9c9c9;
    background: #fff;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.simulation-section-A .title img {
    width: 13vw;
    height: auto;
    max-width: 13vw;
    max-height: 13vw;
    margin: auto;
}

.simulation-section-A .title .img+.txt {
    margin-left: 18vw;
}

.simulation-section-A .list, .simulation-section-A .img__list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: left;
    justify-content: left;
    -ms-flex-pack: justify;
}
.simulation-section-A .list li, .simulation-section-A .img__list li {
    width: 30%;
    font-size: 16px;
    margin-bottom: 1.5em;
    margin-left: 1.75em;
}

.simulation-section-A .list li label {
    text-indent: 0.3em;
    margin-left: -1.75em;
    display: inline-block;
}
.simulation-section-A .img__list li label {
    text-indent: 0.3em;
    margin-left: 0em;
}
.simulation-section-A .list li img, .simulation-section-A .img__list li img {
    display: block;
    margin-top: 0.5em;
    margin-left: -1.75em;
}

.simulation-section-A .list li select, .simulation-section-A .img__list li select {
    border: 1px solid #ddd;
    padding: 5px;
    border-radius: 5px;
    width: 100%;
}

.simulation-section-A input[type="number"] {
    border-radius: 4px;
    border: 1px solid #dddddd;
    width: 50px;
    text-align: right;
    margin-right: 0;
}

.simulation-section-A label span {
    display: inline-block;
    width: 180px;
}

.img__list li p {
    margin: 0 auto;
}
.simulation-section-A .other_title {
    display: table;
    width: 100%;
}
.simulation-section-A .other_title span {
    display: table-cell;
    vertical-align: middle;
}
.simulation-section-A .other_title .other_txt{
    font-weight: normal;
    color: #000;
}
.simulation-section-A .other_title span:first-child {
    margin-right: 20px;
    width: 18%;
}
@media (min-width: 961px) {
    .simulation-section-A {
        margin: 30px 0 0;
        width: 100%;
    }
    .simulation-section-A .title {
        margin: 30px 0;
        font-size: 20px;
        padding: 10px 15px;
    }
    .simulation-section-A .non-img__title {
        padding-left: 82px;
        margin: 0 0 30px !important;
    }
    .simulation-section-A .title .img {
        position: absolute;
        left: 15px;
        bottom: 10px;
        width: 82px;
        height: 82px;
        border: 1px solid #c9c9c9;
    }
    .simulation-section-A .title img {
        width: 80px;
        height: auto;
        max-width: 80px;
        max-height: 80px;
        margin: auto;
    }
    .simulation-section-A .title .img+.txt {
        margin-left: 95px;
    }

    .simulation-section-A .other_title .other_txt {
        font-size: 14px;
    }
    
    .simulation-section-A label span {
        width: auto;
        /* text-align: left; */
    }
    .simulation-section-A .list li {
        /* width: 220px; */
        margin-bottom: 20px;
    }
    .simulation-section-A .lcasterst li {
        width: 30%;
    }
    .simulation-section-A .img__list li {
        width: 30%;
        margin-bottom: 34px;
        margin-left: 0;
        text-align: center;
    }
    .simulation-section-A .list li img {
        margin-top: 10px;
    }
    .simulation-section-A .img__list li img {
        /* margin-top: 10px;
        margin-bottom: 10px;
        margin-left: 0; */
        width: auto;
        margin: 10px auto;
        height: 98px;
    }
    .simulation-section-A .img__list li p {
        margin: 0 auto;
        text-align: center;
    }
    .simulation-section-A .img__list li input {
        /* margin-left: -1.75em; */
    }
    .simulation-section-A_text {
        font-size: 14px;
        margin-left: 20px;
    }
    .simulation-section-A__handle {
        margin-right: 10px;
        /* width: 140px !important; */
    }
    .simulation-section-A__step, .simulation-section-A__legType {
        width: 140px !important
    }
    .simulation-section-A__butterflyvalve {
        width: 100px !important;
    }
}

@media (max-width: 960px) {
    .simulation-section-A .title,
    .simulation-section-A .list li, .simulation-section-A .img__list li {
        font-size: 4vw;
    }
    .simulation-section-A .list li {
        width: 100%;
        margin-bottom: 1.5em;
        margin-left: 1.75em;        
    }
    .simulation-section-A .caster li {
        width: 40%;
    }

    .simulation-section-A .img__list li {
        width: 50%;
        display: inline-block;
        margin: 0 0 18px 0;
    }
    .simulation-section-A .img__list li img {
        height: 80px;
        max-height: 80px;
        margin: 10px auto;
        width: auto;
    }
    .simulation-section-A .img__list span {
        width: 80%;
    }
    .simulation-section-A .img__list input[type="number"] {
        width: 80%;
        margin-top: 8px;
    }
    .simulation-section-A_text {
        font-size: 12px;
    }
    .simulation-section-A .non-img__title {
        padding-left: 13vw;
    }
    .simulation-section-A .other_title span:first-child {
        width: 37%;
    }
    .simulation-section-A .other_title .other_txt {
        font-size: 10px;
    }

}

/*----------------------------------------------------
estimate
----------------------------------------------------*/

.estimate {
    margin: 0;
}

.estimate-date {
    font-size: 14px;
    margin-bottom: 1em;
    padding-bottom: .5em;
    border-bottom: 1px solid #c9c9c9;
    text-align: right;
}

.estimate-info {
    margin: 0 0 1em;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
    border-bottom: 1px solid #c9c9c9;
}

.estimate-info-left {
    width: 100%;
}

.estimate-list-A {
    margin-bottom: .5em;
    overflow: hidden;
    text-align: left;
}

.estimate-list-A dt {
    float: left;
    width: 20%;
    font-size: 16px;
    font-weight: bold;
    color: #5c4b2d;
    margin-top: 5px;
}

.estimate-list-A dd {
    float: right;
    width: 80%;
    font-size: 14px;
}

.estimate-list-A dd input {
    width: 80%;
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 5px;
    margin-right: 5px;
}

.estimate-list-A dd .txt {
    font-weight: bold;
    color: #5c4b2d;
}

.estimate-list-B {
    margin-bottom: .5em;
    overflow: hidden;
    text-align: left;
}

.estimate-list-B dt {
    float: left;
    width: 20%;
    font-size: 16px;
    font-weight: bold;
    color: #5c4b2d;
    margin-top: 5px;
}

.estimate-list-B dd {
    float: right;
    width: 80%;
    font-size: 14px;
    margin-bottom: 0.5em;
}

.estimate-list-B dd input {
    width: 100%;
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 5px;
    margin-right: 5px;
}

.estimate-text {
    font-size: 14px;
    text-align: center;
    margin-bottom: 1em;
}

.estimate-table {
    margin-bottom: 1em;
}

.estimate-table table {
    width: 100%;
}

.estimate-table table th {
    padding: 10px 5px;
    background: #c9c9c9;
    text-align: center;
    font-size: 12px;
}

.estimate-table table td {
    padding: 10px 5px;
    background: #fff;
    text-align: center;
    font-size: 12px;
    border-bottom: 1px solid #c9c9c9;
}

.estimate-table table th:nth-child(2), .estimate-table table td:nth-child(2) {
    text-align: left;
    width: 30%;
}

.estimate-total {
    text-align: right;
    margin-bottom: 1em;
    font-weight: bold;
    color: #5c4b2d;
}

.estimate-total .l {
    font-size: 24px;
}

.estimate-total .s {
    font-size: 14px;
}

.estimate-note {
    text-align: left;
    margin-bottom: 1em;
}

.estimate-note-title {
    font-size: 16px;
    margin-bottom: 0.25em;
}

.estimate-note textarea {
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 5px;
    width: 100%;
}

.estimate-btn li {
    margin: .5em 0;
}

.estimate-btn a {
    position: relative;
    border: 1px solid #ef7b51;
    background: #ef7b51;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    display: inline-block;
    padding: 10px 0;
    width: 100%;
    cursor: pointer;
    position: relative;
    -webkit-transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out;
    transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out, -webkit-box-shadow .3s ease-out;
}

.estimate-btn a:hover {
    background: #fff;
    color: #ef7b51;
}

.estimate-btn a::after {
    content: '';
    position: absolute;
    right: 10px;
    top: 36%;
    width: 10px;
    height: 10px;
    z-index: 100;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
}

.estimate-btn a:hover::after {
    border-right: 2px solid #ef7b51;
    border-bottom: 2px solid #ef7b51;
}

@media (min-width: 961px) {
    .estimate-date {
        font-size: 16px;
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
    .estimate-info {
        margin: 0 0 30px;
        padding-bottom: 20px;
    }
    .estimate-info-left {
        width: 60%;
    }
    .estimate-info-right {
        width: 38%;
    }
    .estimate-list-A {
        margin-bottom: 15px;
    }
    .estimate-list-A dt {
        width: 25%;
        font-size: 24px;
        margin-top: 10px;
    }
    .estimate-list-A dd {
        float: right;
        width: 75%;
        font-size: 20px;
    }
    .estimate-list-A dd input {
        width: 80%;
        padding: 10px;
        border: 2px solid #ddd;
    }
    .estimate-list-B {
        margin-bottom: 0;
    }
    .estimate-list-B dt {
        float: none;
        width: 100%;
        font-size: 24px;
        margin-top: 0px;
        margin-bottom: 10px;
    }
    .estimate-list-B dd {
        float: none;
        width: 100%;
        font-size: 16px;
        margin-bottom: 10px;
    }
    .estimate-list-B dd input {
        width: 100%;
        padding: 10px;
        border: 2px solid #ddd;
        margin-right: 0px;
    }
    .estimate-text {
        font-size: 16px;
        margin-bottom: 2em;
    }
    .estimate-table {
        margin-bottom: 1em;
    }
    .estimate-table table {
        width: 100%;
    }
    .estimate-table table th {
        padding: 10px 5px;
        background: #c9c9c9;
        text-align: center;
        font-size: 16px;
    }
    .estimate-table table td {
        padding: 10px 5px;
        background: #fff;
        text-align: center;
        font-size: 16px;
        border-bottom: 1px solid #c9c9c9;
    }
    .estimate-table table th:nth-child(1), .estimate-table table td:nth-child(1) {
        width: 8%;
    }
    .estimate-table table th:nth-child(2), .estimate-table table td:nth-child(2) {
        text-align: left;
        width: 60%;
    }
    .estimate-total {
        text-align: right;
        margin-bottom: 1em;
        font-weight: bold;
        color: #5c4b2d;
    }
    .estimate-total .l {
        font-size: 30px;
    }
    .estimate-total .s {
        font-size: 16px;
    }
    .estimate-note {
        margin-bottom: 60px;
    }
    .estimate-note-title {
        margin-bottom: 10px;
    }
    .estimate-note textarea {
        padding: 5px;
        border: 1px solid #ddd;
        border-radius: 5px;
        width: 100%;
    }
    .estimate-btn {
        text-align: center;
    }
    .estimate-btn li {
        margin: 0 13px;
        width: 350px;
        display: inline-block;
    }
    .estimate-btn a {
        position: relative;
        border: 1px solid #ef7b51;
        background: #ef7b51;
        color: #fff;
        font-weight: bold;
        font-size: 20px;
        display: inline-block;
        padding: 10px 0;
        width: 100%;
        cursor: pointer;
        position: relative;
        -webkit-transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
        transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, -webkit-box-shadow .3s ease-out;
        transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out;
        transition: color .3s ease-out, background .3s ease-out, border .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out, -webkit-box-shadow .3s ease-out;
    }
    .estimate-btn a:hover {
        background: #fff;
        color: #ef7b51;
    }
    .estimate-btn a::after {
        content: '';
        position: absolute;
        right: 10px;
        top: 36%;
        width: 10px;
        height: 10px;
        z-index: 100;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: rotate(-45deg);
    }
    .estimate-btn a:hover::after {
        border-right: 2px solid #ef7b51;
        border-bottom: 2px solid #ef7b51;
    }
}

/*----------------------------------------------------
nav-parents
----------------------------------------------------*/

.nav-parents {
    position: relative;
}

.nav-parents .nav-child {
    display: block;
    background: #ef7b51;
}

.nav-parents .nav-child li {
    border-top: 1px solid #fff;
    border-bottom: none;
}

@media (min-width: 961px) {
    .nav-parents .nav-child {
        display: none;
        position: absolute;
        left: -40px;
        top: 43px;
        width: 140px;
        background: #fff;
        padding: 0;
        border-top: 1px solid #fff;
    }
    .nav-parents .nav-child li {
        border-top: 1px solid #fff;
        border-left: 1px solid #fff;
        border-right: 1px solid #fff;
        width: auto;
        overflow: hidden;
        padding: 0;
    }
    .nav-parents .nav-child li p {
        color: #fff;
        background: #5c4b2d;
        font-size: 14px;
        text-align: center;
        font-weight: bold;
        padding: 10px 0;
        margin: 0;
    }
    .nav-parents .nav-child li a {
        display: block;
        color: #fff;
        background: #5c4b2d;
        position: relative;
        font-size: 14px;
        text-align: center;
        font-weight: bold;
        padding: 10px 0;
    }
    .nav-parents .nav-child li a:hover {
        background: #352a17;
    }
}

/*----------------------------------------------------
	article-body
----------------------------------------------------*/

.article-body {
    position: relative;
    z-index: 10;
    font-size: 16px;
}

@media (min-width: 961px) {
    .article-body {
        margin: 50px 0;
    }
}

@media (max-width: 960px) {
    .article-body {
        margin: 0 0 2em;
        font-size: 3.0vw;
    }
}

.article-body h1 {
    font-size: 2.25em;
    line-height: 1.25;
}

.article-body h2 {
    font-size: 2em;
    line-height: 1.25;
}

.article-body h3 {
    font-size: 1.5em;
    line-height: 1.375;
}

.article-body h4 {
    font-size: 1.17em;
    line-height: 1.5;
}

.article-body p {
    line-height: 1.9;
}

.article-body a {
    color: #00f;
}

.article-body a:hover {
    text-decoration: underline;
}

.article-body li {
    margin-left: 1.5em;
    list-style: disc;
}

.article-body ol li {
    list-style-type: decimal;
}

.article-body table th {
    font-weight: bold;
    text-align: center;
}

.article-body table th, .article-body table td {
    padding: .5em .5em;
    border: 1px solid #c9c9c9;
}

.article-body__pic {
    line-height: 1.9;
    text-align: center;
}

.article-body__link {
    line-height: 1.9;
    text-align: center;
}

.article-body__embed {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #ededed;
}

@media (min-width: 961px) {
    .article-body__embed {
        -ms-flex-pack: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        justify-content: center;
        padding: 24px 48px;
    }
    .article-body__embed-spotify {
        min-width: 300px;
    }
    .article-body__embed-spotify:nth-child(2n+2) {
        margin-left: 5px;
    }
}

@media (max-width: 960px) {
    .article-body__embed {
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 10px 10px;
    }
    .article-body__embed>*+* {
        margin-top: 10px;
    }
    .article-body__embed-spotify iframe {
        max-width: 100%;
    }
}

.article-body>*+h1 {
    margin-top: 2em;
}

.article-body>*+h2 {
    margin-top: 2em;
}

.article-body>*+h3 {
    margin-top: 1.5em;
}

.article-body>*+h4 {
    margin-top: 1.375em;
}

.article-body>*+p {
    margin-top: 1.375em;
}

.article-body>*+.article-body__pic {
    margin-top: 1.375em;
}

.article-body>*+.article-body__link {
    margin-top: 1.75em;
}

.article-body>*+.article-body__embed {
    margin-top: 1.75em;
}

@media (max-width: 960px) {
    .article-body h2 {
        font-size: 1.5em;
    }
    .article-body h2 {
        font-size: 1.428em;
    }
    .article-body h3 {
        font-size: 1.3em;
    }
    .article-body h4 {
        font-size: 1.17em;
    }
    .article-body p {
        line-height: 1.75;
    }
    .article-body__pic {
        line-height: 1.75;
    }
    .article-body__link {
        line-height: 1.75;
    }
    .article-body [id^="twitter-widget"] {
        width: 100% !important;
    }
}

/*----------------------------------------------------
	Wrapper
----------------------------------------------------*/

.wrapper {
    justify-content: center;
    text-align: center;
    margin-top: 40px;
}

/*----------------------------------------------------
	ウィズ追加
----------------------------------------------------*/
@media (min-width: 961px) {
    .block-login {
    padding: 4px 60px !important;
    }
}


.more_btn {
    display: table-cell !important;
    vertical-align: middle;
    padding: 0;
}

@media (max-width: 960px) {
    .block-login {
        font-size: 4vw;
    }
    .block-login input[type="submit"] {
    font-size: 13px ;
    }

    .more_btn {
        padding: 10px 0;
    }
}

/*----------------------------------------------------
技術資料 共通
----------------------------------------------------*/
.cont h1,
.cont h2,
.cont h3,
.cont h4,
.cont h5 {
    border-bottom: 1px #999 solid;
    margin-bottom: 20px;
    padding: 8px 10px;
    border-left: #EB6321 8px solid;
    font-weight: bold;
    font-size: 15px;
}

.cf {
    zoom: 1;
}

#document-detail .process, #document-detail .process_image,
.stainless table, .sanitary_finish .desc1 > table {
    margin: 10px 0 40px 0;
    width: 100%;
}

.cont table tr th,
.cont table tr td {
    padding: 10px;
}

.cont table {
    width: 100%;
    margin: 35px 0 20px 0;
}

.cont table thead td {
    background-color: #EEEEEE;
    border: 1px solid #DDDDDD;
    padding: 10px;
    font-weight: bold;
    text-align: left;
    vertical-align: middle;
}

.cont table tbody td {
    border: 1px solid #DDDDDD;
    padding: 10px;
    text-align: left;
    vertical-align: middle;
}

.cont ul {
    list-style: none;
}

.cont li {
    list-style: none;
    margin-bottom: 3%;
}

.cont a {
    color: #ef7b51;
}

/*----------------------------------------------------
技術資料 表面仕上げ
----------------------------------------------------*/


#document-detail .process tr th {
    background-color: #EEEEEE;
    border: 1px solid #DDDDDD;
    padding: 10px;
    width: 25%;
    font-weight: bold;
    text-align: left;
    vertical-align: middle;
}

#document-detail .process tr td {
    border: 1px solid #DDDDDD;
    padding: 10px;
    text-align: left;
    vertical-align: middle;
}

#document-detail .process_image {
    margin: 10px 0 40px 0;
    width: 100%;
}

#document-detail .process_image p {
    margin: 2% 0;
    font-size: 12px;
}

#document-detail .process_image .art_basic_bold {
    font-weight: bold;
}

#document-detail .process_image img {
    clear: both;
    display: block;
    margin: 0 auto;
    text-align: center;
    float: none;
    width: 210px;
}

#document-detail .art_02, #document-detail .art_03 {
    margin-bottom: 40px;
}

#document-detail .art_02 p, #document-detail .art_03 p {
    margin-bottom: 20px;
}

.sanitary_finish .desc1 table th {
    background-color: #EEEEEE;
    border: 1px solid #DDDDDD;
    padding: 10px;
    width: 25%;
    font-weight: bold;
    text-align: left;
    vertical-align: middle;
}

.sanitary_finish .desc1 table td {
    border: 1px solid #DDDDDD;
    padding: 10px;
    text-align: left;
    vertical-align: middle;
}

.sanitary_finish table {
    margin-bottom: 45px;
}

.sanitary_finish .desc2 table td {
    padding-left: 40px;
}

.sanitary_finish .desc2 table td:first-child {
    padding-left: 0px;
}
/*----------------------------------------------------
技術資料 耐薬品性
----------------------------------------------------*/

.type_graphs table,
.stainless table {
    width: 100%;
    margin: 20px auto;
    border: none;
    padding: 0;
}

.type_graphs table tr:nth-child(odd) {
    background: #f9f9f9;
}

.type_graphs table tr:nth-child(even) {
    background: #f3f3f3;
}

.type_graphs table tr th, .type_graphs table tr td {
    border: none;
    border-bottom: 1px solid #CCC;
    padding: 1.2% 1%;
    vertical-align: middle;
}

.type_graphs table tr th {
    background: #E5e5e5;
    padding: 0.75% 0.25% 0.75% 0.25%;
    font-weight: bold;
    text-align: center;
    border: 1px solid #CCC;
}

.type_graphs table tr td {
    border-left: 1px solid #ccc;
    text-align: center;
    border-right: 1px solid #ccc;
}

.type_graphs table tr td:nth-child(1) {
    width: 20%;
}

.type_graphs table tr td:first-child {
    text-align: left;
}

.type_graphs table tr td {
    width: 9%;
}

.type_graphs table tr td:nth-child(3) {
    width: 7% !important;
}

/*----------------------------------------------------
技術資料 レーザーマーキング
----------------------------------------------------*/


.laser_marking > .art_02 >  .LM-sideL {
    float: left;
}

.laser_marking > .art_02 >  .LM-sideL > li {
    margin-bottom: 20px;
}

.laser_marking > .art_02 > p > img {
    float: right;
}

.cf:after {
    clear: both;
}

.cf:before, .cf:after {
    content: "";
    display: block;
    overflow: hidden;
}

.laser_marking .art_02 ul.LM-list2 .LM-arrow,
.laser_marking .art_02 ul.LM-list3 .LM-arrow {
    background: left top no-repeat url(../images/arrow_simulation_index.png);
    padding-left: 20px;
}

.laser_marking .art_02 ul.LM-list2 li {
    float: left;
    list-style: none;
    margin: 0 5% 3% 0;
    padding: 0 0 0 1%;
}

.laser_marking .art_02 ul.LM-list3 li {
    list-style: none;
    margin: 0 5% 3% 0;
    padding: 0 0 0 1%;
}

.laser_marking .art_02 .LM-imgTextBox {
    margin: 4% 0 5% 0;
}

.laser_marking .art_02 .LM-imgTextBox dl {
    float: left;
    margin: 0 4% 0 0;
}

.laser_marking .art_02 .LM-imgTextBox dl dt img {
    height: 180px;
}

.laser_marking .art_02 .LM-imgTextBox dl dd, .laser_marking .art_02 .LM-imgTextBox2 dl dd {
    text-align: center;
}

.laser_marking .art_02 .LM-Caution {
    float: left;
    padding: 0 2% 0 0;
    width: 11%;
}

.laser_marking .art_02 .LM-CautionText {
    float: left;
    width: 87%;
}

.laser_marking .art_02 .LM-list3Title {
    padding: 0 0 0 1%;
    font-weight: bold;
}

.laser_marking .art_02 .LM-imgBox img {
    float: left;
    margin: 0 2% 0 0;
    height: 180px;
}

.laser_marking .art_02 .LM-imgTextBox2 {
    margin: 4% 0 5% 0;
}

.laser_marking .art_02 .LM-imgTextBox2 dl {
    float: left;
    margin: 0 3% 0 0;
}

.laser_marking .art_02 .LM-imgTextBox2 dl dt img{
    height: 180px;
}


/*----------------------------------------------------
技術資料 取手について
----------------------------------------------------*/
.stainless table td {
    border: 1px solid #DDDDDD;
    padding: 10px;
    text-align: left;
    vertical-align: top;
}

.stainless table.parts_type td, .stainless table.parts_type th {
    border: none;
}

.stainless p.name {
    font-weight: bold;
}

.stainless p.name span.number {
    color: #fff;
    display: inline-block;
    text-align: center;
    margin: 2px 10px;
    height: 30px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    background-color: #F0AA3F;
    width: 30px;
    line-height: 2.5em;
    font-weight: bold;
    font-size: 12px;
}

/* 2022年2月25日　エディタで入力された「#数字#」を黄色丸に装飾する */
span.colorNumber {
    color: #fff;
    display: inline-block;
    text-align: center;
    margin: 2px 10px;
    height: 30px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
    background-color: #F0AA3F;
    width: 30px;
    line-height: 2.5em;
    font-weight: bold;
    font-size: 12px;
}

.stainless p img {
    height: 180px;
    clear: both;
    display: block;
    margin: 0 auto !important;
    text-align: center;
    float: none !important;
}

.stainless p {
    margin-bottom: 15px;
}
.singleBox p {
    margin: 2% 0;
}

.stainless table.parts_type tr td.col2 {
    position: relative;
}
.stainless div.cf div.left {
    float: left;
}
.stainless div.cf div.right {
    float: right;
    padding-right: 125px;
    text-align: left !important;
}

/*----------------------------------------------------
技術資料 サニタリー
----------------------------------------------------*/
.sanitary table.products {
    margin: 10px 0 40px 0;
    width: 100%;
}

.sanitary table.products tr td {
    border: none;
    padding: 10px 10px 10px 0px;
    width: 33%;
}

.sanitary table.products tr td img {
    margin: 10px 0;
    width: auto;
    height: 180px;
}

.art_basic_bold {
    font-weight: bold;
}

.small {
    font-size: 90%;
}

/*----------------------------------------------------
技術資料 ステンレス
----------------------------------------------------*/
.stainless p.mark {
    background: left top no-repeat url(../images/arrow_simulation_index.png);
    padding-left: 20px;
}
.stainless p.v_p_line {
    padding-left: 20px;
}

.stainless table th, .stainless table td {
    border: 1px solid #DDDDDD;
    padding: 10px;
    text-align: left;
    vertical-align: middle;
}

.stainless table th {
    background-color: #EEEEEE;
    font-weight: bold;
}

/*----------------------------------------------------
技術資料 SP（共通）
----------------------------------------------------*/

@media screen and (max-width: 960px) {
    #document-detail,
    #document-detail > .cont > h1 {
        font-size: 4vw;
    }
    
    .type_graphs table, .stainless table {
        display: block;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
    }
    .type_graphs tbody, .stainless tbody {
        width: 100%;
        display:table;
    }
    .stainless table.mb60px tr,
    .stainless table.mb60px th,
    .stainless table.mb60px td,
    .stainless table.mb60px,
    .stainless table.mb60px,
    #document-detail .process tr th,
    #document-detail .process tr td,
    #document-detail .process_image tr td,
    .sanitary table.products tr td,
    .sanitary_finish .desc1 > table tr th,
    .sanitary_finish .desc1 > table tr td{
        display: block;
        width: 100% !important;
    }
    #document-detail .process_image tr td{
        margin-bottom: 20px;
    }
    #document-detail .process_image img{
        margin: 10px 0 0;
    }
    .type_graphs table tr th {
        min-width: 100px;
    }
    .type_graphs table tr th, .type_graphs table tr td {
        padding: 10px 8px;
    }
    .laser_marking > .art_02 > .LM-sideL,
    .laser_marking > .art_02 > p > img,
    .laser_marking .art_02 .LM-imgTextBox dl,
    .laser_marking .art_02 .LM-Caution,
    .laser_marking .art_02 .LM-CautionText,
    .laser_marking .art_02 .LM-imgBox img,
    .laser_marking .art_02 .LM-imgTextBox2 dl,
    .stainless div.cf div.left,
    .stainless div.cf div.right {
        float: none;
    }
    .laser_marking .art_02 .LM-imgTextBox dl,
    .laser_marking .art_02 .LM-imgTextBox2 dl {
        margin-bottom: 20px;
    }
    .laser_marking .art_02 .LM-imgTextBox dl dd,
    .laser_marking .art_02 .LM-imgTextBox2 dl dd {
        text-align: left;
    }
    .laser_marking .art_02 .LM-Caution,
    .laser_marking .art_02 .LM-CautionText {
        width: 100%;
    }
    .laser_marking .art_02 .LM-imgBox img {
        margin-bottom: 20px;
    }
    .stainless table.parts_type td p {
        white-space: nowrap;
    }
    .stainless img {
        height: 80px;
        width: auto;
    }
    .stainless table.parts_type td {
        vertical-align: top;
    }
    .stainless table.parts_type td .cf {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    
    .stainless table.parts_type img {
        margin-right: 10px;
    }
}

/*----------------------------------------------------
即時見積もり
----------------------------------------------------*/
.simulation_error {
    text-align: center;
    margin-top: -3em;
    margin-bottom: 2em;
    line-height: 1.8;
    font-size: 18px;
}
.to_mypage {
    text-align: center;
    margin-bottom: 4em;
}

.to_mypage a {
    display: inline-block;
    background: #ef7b51;
    color: #fff;
    padding: 15px 60px;
    position: relative;
    font-size: 20px;
    border: 1px solid #ef7b51;
    width: 38%;
    text-align: center;
}

.to_mypage a .fa-chevron-right {
    font-size: 16px;
    position: absolute;
    right: 5%;
    top: 35%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
}

.to_mypage a:hover {
    background: #fff;
    color: #ef7b51;
}

@media (max-width: 960px) {
    .to_mypage a {
        padding: 2vw 3vw;
        font-size: 2vw;
    }
    .to_mypage a .fa-chevron-right {
        font-size: 2vw;
        position: absolute;
        right: 2vw;
        top: 40%;
    }
    .to_mypage a:hover .fas {
        -webkit-transform: translate(.5em, 0);
        transform: translate(.5em, 0);
    }
    .simulation_error {
        margin-top: -4em;
        font-size: 3.0vw;
    }

}
