@charset "UTF-8"; /*------------------------

ページタイトル

------------------------*/
.con_mainmovie {
    height: 250px;
    padding-top: 130px;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    color: #fff;
    font-size: 24px;
    text-shadow: 0px 0px 16px rgba(17, 17, 17, 1);
    background-image: url(../img/page-title.jpg);
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .con_mainmovie {
        background-image: url(../img/page-title@2x.jpg);
    }
}

.common .con_mainmovie {
    padding-top: 150px;
}

@media screen and (max-width: 767px) {
    .common .con_mainmovie {
        padding-top: 110px;
    }

    .request-page .con_mainmovie {
        padding-top: 100px;
        font-size: 20px;
    }

    .info-page .con_mainmovie {
        padding-top: 100px;
        font-size: 20px;
    }
}

@media screen and (max-width: 767px) {
    .con_mainmovie {
        height: 200px;
        padding-top: 94px;
        background-position: center 60px;
        background-size: 1100px;
    }

    .common .con_mainmovie {
        background-image: url(../img/page-title_sp.jpg);
        background-position: center 0;
        background-size: 375px;
    }
}

.page-list ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    margin: 0;
}

@media screen and (max-width: 767px) {
    .page-list ul {
        flex-direction: column;
    }
}

.page-list ul li {
    list-style-type: none;
}

@media screen and (max-width: 767px) {
    .page-list ul li {
        margin-bottom: 16px;
    }
}

/*------------------------

背景

------------------------*/
.black-back {
    background: #363635;
}

.black-inner {
    background: #11110f;
}

.blue-back {
    background-image: url(../img/pat05.jpg);
    background-repeat: repeat;
    background-position: center top;
}

hr {
    border-bottom: 1px solid #4d4d4d;
    margin-top: 24px;
    margin-bottom: 24px;
}

.common hr {
    margin-top: 40px;
    margin-bottom: 40px;
}

/*------------------------

画像

------------------------*/
.img-line-basis {
    position: relative;
}

.img-line {
    position: absolute;
    bottom: -20px;
    right: -20px;
}

@media screen and (max-width: 767px) {
    .img-line {
        display: none;
    }
}

/*------------------------

コンテンツ

------------------------*/
.common .page-list {
    padding: 48px 0;
}

@media screen and (max-width: 767px) {
    .common .page-list {
        padding: 24px 0;
    }
}

.common .intro {
    text-align: center;
}

.common .intro .sub-title {
    font-size: 24px;
}

.common .intro .sub-title span {
    background-color: #907604;
    padding: 0 32px;
}

@media screen and (max-width: 767px) {
    .common .intro .sub-title {
        margin-bottom: 8px;
        border-top: 1px solid rgba(173, 142, 3, 0.58);
        padding-top: 16px;
    }
}

.common .intro .title {
    font-size: 52px;
    margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
    .common .intro .title {
        line-height: 1.3;
        margin-bottom: 8px;
    }
}

.common .intro .title span {
    background: -moz-linear-gradient(top left, #52390b, #f3c53d);
    background: -webkit-linear-gradient(top left, #52390b, #f3c53d);
    background: linear-gradient(to bottom right, #52390b, #f3c53d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.common .intro p {
    font-size: 18px;
    letter-spacing: .1em;
    line-height: 2;
}

@media screen and (max-width: 767px) {
    .common .intro p {
        font-size: 16px;
        letter-spacing: .05em;
        line-height: 1.61;
    }
}

@media screen and (max-width: 374px) {
    .common .intro p {
        font-size: 15px;
    }
}

.box {
    padding: 40px;
    border: 4px solid #9a8101;
    background: rgba(0, 0, 0, 0.5);
}

@media screen and (max-width: 767px) {
    .box {
        padding: 16px 0;
        border-left: 0;
        border-right: 0;
        background: transparent;
    }
}

.box02 {
    color: rgba(255, 255, 255, 0.75);
}

.box03 {
    border: 1px solid #5a5a5a;
    padding: 8px 16px;
}

/*------------------------
.box {
    padding: 4px;
    background: -moz-linear-gradient(top left, #52390b, #f3c53d);
    background: -webkit-linear-gradient(top left, #52390b, #f3c53d);
    background: linear-gradient(to bottom right, #52390b, #f3c53d);
}

.box-inner {
    padding: 40px;
    background: #000;
}
/*------------------------

/*------------------------

パーツ

------------------------*/
figure div + figcaption, figure pre + figcaption, figcaption {
    font-family: YakuHanJP, "Hiragino Sans", ヒラギノ角ゴシック, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Noto Sans Japanese", メイリオ, Meiryo, "ＭＳ Ｐゴシック", Osaka, Verdana, sans-serif;
    width: 100%;
    font-size: 14px;
    font-style: normal;
    color: rgba(255, 255, 255, 0.7);
    position: relative;
    top: 8px;
    margin-bottom: 8px;
    line-height: 1.61;
}

/*------------------------

テーブル

------------------------*/
table.tbl_primary {
    border-spacing: 0;
    border-collapse: collapse;
    border-top: 1px solid #52524e;
}

@media only screen and (max-width: 767px) {
    table.tbl_primary {
        font-size: 88%;
    }
}

@media only screen and (max-width: 767px) {
    table.tbl_primary tr {
        display: block;
    }
}

table.tbl_primary tr th, table.tbl_primary tr td {
    font-weight: normal;
    border-bottom: 1px solid #52524e;
    padding: 1em 1.5em;
}

@media only screen and (max-width: 767px) {
    table.tbl_primary tr th, table.tbl_primary tr td {
        display: block;
        padding-left: 1em;
        padding-right: 1em;
    }
}

table.tbl_primary tr th {
    border-right: 1px solid #52524e;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    table.tbl_primary tr th {
        border-right: none;
    }
}

table.tbl_secondary {
    border-spacing: 0;
    border-collapse: collapse;
    border-top: 1px solid #52524e;
}

@media only screen and (max-width: 767px) {
    table.tbl_secondary {
        font-size: 88%;
    }
}

table.tbl_secondary tr th, table.tbl_secondary tr td {
    font-weight: normal;
    border-bottom: 1px solid #2a2a26;
    padding: 0.8em 1em;
}

@media only screen and (max-width: 767px) {
    table.tbl_secondary tr th, table.tbl_secondary tr td {
        padding-left: 0;
        padding-right: 0;
    }
}

@media only screen and (max-width: 767px) {
    table.tbl_secondary tr td {
        padding-left: 1em;
    }
}

/*------------------------

戸田家メンバーズ

------------------------*/
@media screen and (max-width: 767px) {
    .members-page .con_mainmovie {
        padding-top: 108px;
    }
}

.members-page .back-img {
    background-image: url(../../members/img/members-intro_back01.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1920px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .members-page .back-img {
        background-image: url(../../members/img/members-intro_back@2x.png);
    }
}

.members-page .intro {
    padding: 16px 0 24px;
}

@media screen and (max-width: 767px) {
    .members-page .intro {
        padding: 16px 0 8px;
    }
}

.members-page .box02 ul li {
    margin-bottom: 16px;
}

.members-page .box02 ul ul {
    margin-top: 16px;
}

.members-page .box02 ul ul li {
    margin-bottom: 0px;
    font-size: 14px;
}

.privacy {
    color: rgba(255, 255, 255, 0.75);
    font-size: 24px;
}

.privacy p {
    font-size: 16px;
    margin-top: 16px;
}

.privacy .inner p {
    margin-top: 8px;
}

.privacy ol {
    margin-left: 0;
    padding-left: 1.61em
}

.privacy ol li {
    margin-bottom: 32px;
}

@media screen and (max-width: 374px) {
    .privacy ol li {
        font-size: 21px;
    }
}

.privacy ol ol {
    font-size: 14px;
}

.privacy ol ol {
    padding: 0 0 0 2em;
    margin: 0 0 24px;
}

.privacy ol ol li {
    list-style-type: none;
    list-style-position: inside;
    counter-increment: cnt;
    text-indent: -1.7em;
    margin-bottom: 8px;
}

@media screen and (max-width: 374px) {
    .privacy ol ol li {
        font-size: 16px;
    }
}

.privacy ol ol li:before {
    width: 2em;
    display: marker;
    content: counter(cnt) " ) ";
}

.privacy ol ul {
    font-size: 14px;
    margin-bottom: 24px;
}

.privacy ol ul li {
    margin-bottom: 0;
}

.privacy-footer .title {
    margin-bottom: 16px;
}

@media only screen and (max-width: 767px) {
    .privacy-footer {
        text-align: right;
    }
}

/*------------------------

フォーム

------------------------*/
form {
    margin-bottom: 0;
}

.con_intro, .con_flow {
    margin-bottom: 40px;
}

@media only screen and (max-width: 767px) {
    .con_intro, .con_flow {
        margin-bottom: 24px;
    }
}

/* -----------------------------------------------------------
	.con_flow
 ----------------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .con_flow {
        margin-bottom: 40px;
    }
}

@media only screen and (max-width: 767px) {
    .con_flow {
        margin-bottom: 32px;
    }
}

.con_flow ul {
    margin: 0;
    display: flex;
}

.con_flow ul li {
    width: 33%;
    margin-left: 8%;
    text-align: center;
    background: #2a2a26;
    font-size: 94%;
    padding: 8px 10px;
    color: #fff;
    position: relative;
    list-style: none;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .con_flow ul li {
        font-size: 94%;
    }
}

@media only screen and (max-width: 767px) {
    .con_flow ul li {
        font-size: 82%;
        padding: 10px 0;
        width: 30%;
        margin-left: 5%;
    }
}

.con_flow ul li:first-child {
    margin-left: 0;
}

.con_flow ul li.active {
    background: #a48c00;
}

.con_flow ul li:after {
    content: "\e649";
    font-family: themify;
    font-size: 100%;
    color: #fff;
    position: absolute;
    top: 50%;
    right: -50px;
    margin-top: -0.5em;
    line-height: 1;
}

@media only screen and (max-width: 767px) {
    .con_flow ul li:after {
        font-size: 75%;
        right: -14%;
    }
}

.con_flow ul li.last:after {
    display: none;
}

/* -----------------------------------------------------------
	.con_form
----------------------------------------------------------- */
.con_form {
    margin-bottom: 32px;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .con_form {
        margin-bottom: 30px;
    }
}

@media only screen and (max-width: 767px) {
    .con_form {
        margin-bottom: 20px;
    }
}

.con_form .tbl_primary {
    width: 100%;
}

.con_form .tbl_primary th, .con_form .tbl_primary td {
    padding: 24px 16px;
    font-size: 18px;
}

.con_form .tbl_primary .allergies td {
    vertical-align: middle;
    padding: 24px 0 24px 16px;
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary .allergies td {
        padding: 8px 0;
    }
}

.con_form .tbl_primary .allergies td [type="radio"] {
    margin-right: 8px;
    bottom: 0.5rem;
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary th, .con_form .tbl_primary td {
        padding: 0.8em 0;
    }

    .con_form input[type="radio"] {
        -webkit-appearance: none;
        position: relative;
        margin-right: 5px;
        border-radius: 30px;
        border: 2px solid #736b68;
        width: 30px;
        height: 30px;
        background: -webkit-gradient( linear, left top, left bottom, from(#fdfdfd), to(#d1d1d1) );
        vertical-align: middle;
    }

    .con_form input[type="radio"]:disabled {
        border: 2px solid #EEE;
    }

    /* チェック時は背景色を変更 */
    .con_form input[type="radio"]:checked {
        background: -webkit-gradient( linear, left top, left bottom, from(#aaa), to(#ccc) );
    }

    /* チェックの印を:before疑似要素を使って作成 */
    .con_form input[type="radio"]:checked:before {
        position: absolute;
        left: 50%;
        top: 50%;
        display: block;
        margin: -9px 0 0 -9px;
        content: "";
        border-radius: 50px;
        width: 18px;
        height: 18px;
        background: -webkit-gradient( linear, left top, left bottom, from(#7e0000), to(#7e0000) );
    }
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary td {
        padding-top: 0;
        padding-bottom: 24px;
    }
}

.con_form .tbl_primary th input, .con_form .tbl_primary th select, .con_form .tbl_primary th textarea, .con_form .tbl_primary td input, .con_form .tbl_primary td select, .con_form .tbl_primary td textarea {
    padding: 0.5em 1em;
    border: 0;
    border-radius: 0;
}

.con_form .tbl_primary .food td [type="checkbox"] {
    bottom: 0.35rem;
    margin-right: 8px;
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary th input, .con_form .tbl_primary th select, .con_form .tbl_primary th textarea, .con_form .tbl_primary td input, .con_form .tbl_primary td select, .con_form .tbl_primary td textarea {
        width: 100%;
        padding: 0.5em 0.8em;
    }

    .con_form .tbl_primary .allergies .form-item input, .con_form .tbl_primary .food .form-item input {
        width: auto;
    }

    .con_form .tbl_primary .food th {
        padding: 24px 0;
    }

    .con_form .tbl_primary .food .form-item label {
        display: inline-block;
    }

    .con_form .tbl_primary .food .is-row {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary tr {
        flex-direction: column;
    }

    .con_form .tbl_primary td {
        width: 100%;
    }
}

.con_form .tbl_primary th {
    overflow: hidden;
    width: 30%;
    text-align: left;
    vertical-align: top;
}

.con_form .tbl_primary th span {
    float: right;
    margin-left: 1em;
    padding: 2px 5px;
    background: #720000;
    color: #fff;
    font-weight: normal;
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary th {
        padding-top: 24px;
    }
}

.con_form .tbl_primary th span {
    margin-top: -3px;
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary th span {
        margin-left: 0;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .con_form .tbl_primary th {
        width: 36%;
    }
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary th {
        width: 100%;
        border-bottom: 0;
    }
}

.con_form .food .is-row > .is-col {
    flex: 0 1 auto;
}

.con_form .food .is-row {
    margin-left: 0;
    margin-bottom: 0;
}

.con_form .food label.is-checkbox {
    width: 20%;
}

@media only screen and (max-width: 767px) {
    .con_form .food label.is-checkbox {
        width: 50%;
    }
}

.con_form .tbl_primary td .attention {
    color: #d11917;
    position: relative;
    font-size: 88%;
}

.con_form .tbl_primary td .attention:before {
    content: '※';
}

.con_form .tbl_primary .name input {
    width: 40%;
}

.con_form .tbl_primary .email input {
    width: 80%;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .con_form .tbl_primary .name input, .con_form .tbl_primary .email input {
        width: 80%;
    }
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary .name input, .con_form .tbl_primary .email input {
        width: 100%;
        margin: 0.3em 0;
    }
}

.con_form .tbl_primary .code input {
    width: 30%;
    display: inline-block;
}

.con_form .tbl_primary .day input {
    width: 15%;
    display: inline-block;
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary .day input {
        width: 22%;
    }
}

.con_form .tbl_primary .day td span {
    margin-right: 16px;
    margin-left: 8px;
}

.con_form .tbl_primary .allergies input, .con_form .tbl_primary .allergies span {
    display: inline-block;
}

.con_form .tbl_primary .allergies .is-container {
    flex: 0 1 auto;
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary .allergies .is-container div {
        width: 100%;
        margin-bottom: 8px;
    }

    .con_form .tbl_primary .allergies .is-container div .form-checkboxes {
        margin-bottom: 8px;
        width: 80%;
    }
}

.con_form .tbl_primary .allergies .is-container > div {
    flex: 0 1 auto;
}

.con_form .tbl_primary .allergies .is-container > div:first-child {
    width: 45%;
}

.con_form .tbl_primary .allergies .is-container > div:nth-child(2) {
    width: 25%;
}

.con_form .tbl_primary .allergies .is-container > div:last-child {
    width: 30%;
    padding-top: 6px;
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary .allergies .is-container > div:first-child {
        width: 100%;
    }

    .con_form .tbl_primary .allergies .is-container > div:nth-child(2) {
        width: 100%;
    }

    .con_form .tbl_primary .allergies .is-container > div:last-child {
        width: 100%;
        padding-top: 6px;
    }
}

.con_form .tbl_primary .allergies .is-container .form-item {
    display: inline-block;
    margin-bottom: 0;
}

.con_form .tbl_primary .allergies input[type="text"] {
    width: 80%;
}

.con_form .tbl_primary .allergies input[type="number"] {
    width: 50%;
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary .allergies input[type="text"] {
        width: 70%;
    }

    .con_form .tbl_primary .allergies input[type="number"] {
        width: 30%;
    }
}

.con_form .form-checkboxes label.is-checkbox {
    margin-right: 8px;
}

.con_form .tbl_primary .allergies td b {
    margin-left: 8px;
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary .code input {
        width: 50%;
    }
}

.con_form .tbl_primary .address input {
    width: 80%;
}

@media only screen and (max-width: 1024px) {
    .con_form .tbl_primary .address input {
        width: 100%;
    }
}

.con_form .tbl_primary .tel input {
    width: 40%;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .con_form .tbl_primary .tel input {
        width: 80%;
    }
}

@media only screen and (max-width: 767px) {
    .con_form .tbl_primary .tel input {
        width: 100%;
        margin: 0.3em 0;
    }
}

.con_form .tbl_primary .content textarea {
    width: 100%;
    height: 250px;
}

.con_form .box_btn {
    margin: 32px 0 0;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .con_form .box_btn {
        margin-top: 0;
    }
}

.con_form .box_btn .btn {
    margin-bottom: 0;
    width: 50%;
    display: flex;
    margin: auto;
}

@media only screen and (max-width: 767px) {
    .con_form .box_btn .btn {
        width: 100%;
    }
}

.con_form .box_btn .btn input {
    background-color: #30302b;
    color: #fff;
    border-radius: 0;
    font-size: 18px;
    letter-spacing: .05em;
    padding: 16px;
    height: 63px;
    margin-left: 16px;
}

@media only screen and (max-width: 767px) {
    .con_form .box_btn .btn input {
        margin-left: 0;
        margin-right: 16px;
    }
}

.con_form .box_btn .btn input[type="submit"] {
    background-color: #0d2a76;
    color: #fff;
    border-radius: 0;
    font-size: 18px;
    letter-spacing: .05em;
    padding: 16px;
    height: 63px;
}

@media only screen and (max-width: 767px) {
    .con_form .box_btn .btn input[type="submit"] {
        margin-right: 0;
    }
}

/*------------------------

個人情報保護方針

------------------------*/
.privacy_policy-page .page-list li a {
    text-decoration: none;
    color: #f4eee6;
    padding: 1em 1.8em;
    border-left: 1px solid rgba(255, 255, 255, 0.43);
}

.privacy_policy-page .page-list li:last-child a {
    border-right: 1px solid rgba(255, 255, 255, 0.43);
}

@media only screen and (max-width: 767px) {
    .privacy_policy-page .page-list li:last-child a {
        border-right: 0;
    }
}

.privacy_policy-page .page-list li a:hover {
    text-decoration: underline;
}

@media only screen and (max-width: 1280px) {
    .privacy_policy-page .page-list li a {
        font-size: 14px;
        padding: 1em;
    }
}

@media only screen and (max-width: 767px) {
    .privacy_policy-page .page-list li, .privacy_policy-page .page-list li a {
        width: 100%;
        padding: 0;
        border: 0;
    }

    .privacy_policy-page .page-list {
        margin: 16px 0;
        padding-left: 8px;
    }

    .privacy_policy-page .page-list li {
        list-style-type: disc;
    }

    .privacy_policy-page .page-list li:last-child {
        margin-bottom: 0;
    }

    .privacy_policy-page .page-list li a {
        text-decoration: underline;
    }
}

@media only screen and (max-width: 374px) {
    .privacy_policy-page .page-list {
        padding-left: 0;
    }

    .privacy_policy-page .page-list li a {
        font-size: 14px;
        letter-spacing: .05em
    }
}

/*------------------------

戸田家あれこれ

------------------------*/
.about-page .page-list li a {
    text-decoration: none;
    color: #f4eee6;
    padding: 1em 1.8em;
    border-left: 1px solid rgba(255, 255, 255, 0.43);
}

.about-page .page-list li:last-child a {
    border-right: 1px solid rgba(255, 255, 255, 0.43);
}

.about-page .page-list li a:hover {
    text-decoration: underline;
}

@media only screen and (max-width: 1280px) {
    .about-page .page-list li a {
        font-size: 14px;
        padding: 1em;
    }
}

@media only screen and (max-width: 767px) {
    .about-page .page-list ul {
        flex-direction: row;
        display: flex;
        list-style: none;
        flex-wrap: wrap;
        text-align: center;
        margin-left: -16px;
    }

    .about-page .page-list li {
        list-style-type: none;
        width: calc(50% - 16px);
        margin-left: 16px;
    }

    .about-page .page-list li a {
        border: 1px solid rgba(255, 255, 255, 0.43);
        display: block;
        font-size: 13px;
    }

    .about-page .page-list {
        margin: 0;
        padding-left: 0;
        padding-bottom: 0;
        padding-top: 16px;
    }

    .about-page .page-list li:last-child a {
        margin-bottom: 0;
    }
}

.about-page .intro {
    background-image: url(../../about/img/about-intro_back.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1920px;
    text-align: center;
    padding: 80px 0 0 0;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .about-page .intro {
        background-image: url(../../about/img/about-intro_back@2x.jpg);
    }
}

@media only screen and (max-width: 767px) {
    .about-page .intro {
        background-size: 1920px;
        padding: 24px 0 0 0;
    }

    .about-page .intro .main-title {
        margin-bottom: 8px;
    }

    .about-page .intro img {
        margin-left: 8px;
    }
}

.about-page .intro p {
    text-align: left;
}

.about-page .area01 .inner {
    border-width: 1px;
    border-color: rgb(60, 60, 57);
    border-style: solid;
    background-color: rgb(17, 17, 13);
    padding: 40px;
}

.about-page .area01 .inner .headlines05 {
    margin-top: 16px;
    margin-bottom: 24px;
}

.about-page .area01 .inner p {
    line-height: 2;
}

@media only screen and (max-width: 767px) {
    .about-page .area01 p br {
        display: none;
    }

    .about-page .area01 .inner {
        padding: 24px;
    }

    .about-page .area01 .img-area {
        order: 2;
    }

    .about-page .headlines span {
        font-size: 40px;
    }

    .about-page .area01 .inner .headlines05 {
        margin-top: 0;
        margin-bottom: 16px;
    }

    .about-page .area01 .inner p {
        line-height: 2;
    }
}

@media only screen and (max-width: 767px) {
    .about-page .headlines span {
        font-size: 38px;
    }
}

.about-page .area03 {
    padding-bottom: 40px;
    font-size: 32px;
}

@media only screen and (max-width: 767px) {
    .about-page .area03 {
        font-size: 24px;
        border-top: 1px solid #404040;
        border-bottom: 1px solid #404040;
        padding-top: 16px;
        padding-bottom: 16px;
        margin-bottom: 30px;
    }

    .about-page .area03 span {
        display: none;
    }
}

@media only screen and (max-width: 374px) {
    .about-page .area03 {
        font-size: 20px;
    }
}

/*------------------------

会社概要

------------------------*/
.company-page .intro {
    background-image: url(../../company/img/company-intro_back.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1920px;
    text-align: center;
    padding: 80px 0 0 0;
    margin-bottom: 40px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .company-page .intro {
        background-image: url(../../company/img/company-intro_back@2x.jpg);
    }
}

@media only screen and (max-width: 767px) {
    .company-page .intro {
        padding: 40px 0;
        margin-bottom: 0;
        background-size: 580px;
    }
}

.company-page .headlines03 {
    margin-bottom: 32px;
}

.company-page .area01 p {
    font-size: 18px;
}

@media only screen and (max-width: 767px) {
    .company-page .main-title {
        width: 80%;
        margin: auto;
    }

    .company-page .area01 p {
        font-size: 16px;
    }

    .company-page .area01 .footer {
        text-align: right;
    }
}

.company-page .area01 img {
    margin-bottom: 16px;
}

.company-page .area01 .button {
    padding: 16px;
}

.company-page table.tbl_primary tr th, .company-page table.tbl_primary tr td {
    font-size: 16px;
    background: #0f0f0f;
    padding: 24px;
}

.company-page table.tbl_primary tr th {
    vertical-align: middle;
}

@media only screen and (max-width: 767px) {
    .company-page table.tbl_primary tr th, .company-page table.tbl_primary tr td {
        text-align: left;
        padding: 0;
    }

    .company-page table.tbl_primary tr th {
        font-weight: 600;
        border-bottom: none;
        padding: 16px 0 0;
        margin-bottom: 8px;
    }

    .company-page table.tbl_primary tr td {
        color: rgba(255, 255, 255, 0.62);
        border-bottom: 1px dotted #5c5c58;
        padding: 0 0 16px;
    }
}

.company-page .area03 tr td:first-child {
    width: 120px;
    padding-right: 0;
}

.company-page .area03 tr td:nth-child(2) {
    width: 60px;
    padding-left: 0;
    text-align: right;
    border-right: 1px solid #52524e;
}

@media only screen and (max-width: 767px) {
    .company-page .area03 table.tbl_primary tr {
        display: flex;
        flex-wrap: wrap;
        padding-top: 16px;
    }

    .company-page .area03 table.tbl_primary tr td {
        color: #fff;
        border-bottom: 0;
    }

    .company-page .area03 table.tbl_primary tr td:first-child {
        width: 80px;
        color: rgba(255, 255, 255, 0.62);
        border-bottom: 0;
    }

    .company-page .area03 table.tbl_primary tr td:nth-child(2) {
        border-right: 0;
        color: rgba(255, 255, 255, 0.62);
        text-align: left;
    }

    .company-page .area03 table.tbl_primary tr td:nth-child(3) {
        width: 100%;
        border-bottom: 1px dotted #5c5c58;
    }
}

/*------------------------

採用情報

------------------------*/
.recruit-page .intro {
    background: #fff;
    padding-top: 48px;
    padding-bottom: 48px;
    margin-bottom: 104px;
}

@media screen and (max-width: 767px) {
    .recruit-page .intro {
        padding-top: 0;
    }

    .recruit-page .intro .is-67 {
        order: 2;
    }

    .recruit-page .intro .is-33 {
        order: 1;
    }

    .recruit-page .intro .img01 {
        width: 60%;
        margin: auto;
    }

    .recruit-page .intro .is-container .sub-title {
        order: 1;
        margin: 0 auto 24px;
    }
}

.recruit-page .intro p {
    font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
    font-size: 16px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    height: 473px;
    text-align: left;
    color : #11110f;
    margin-left: 40px;
}

@media screen and (max-width: 1279px) {
    .recruit-page .intro .is-container p {
        margin-left: 0;
        height: 600px;
    }
}

@media screen and (max-width: 767px) {
    .recruit-page .intro .is-container p {
        order: 2;
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        margin-left: 0;
        height: auto;
    }
}

.text-combine {
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
}

.recruit-page .intro .sub-title {
    margin-left: 24px;
}

@media screen and (max-width: 767px) {
    .recruit-page .intro .sub-title {
        border: 0;
    }
}

.recruit-page .intro .img02 {
    margin-bottom: -160px;
}

@media screen and (max-width: 767px) {
    .recruit-page .intro .img02 {
        margin-bottom: -140px;
    }
}

.recruit-page .headlines03 {
    background: #101227;
    margin-bottom: 32px;
}

@media screen and (max-width: 767px) {
    .recruit-page .headlines03 {
        font-size: 32px;
    }
}

.recruit-page .area01 .lead {
    font-size: 56px;
    text-align: center;
    padding: 0 0 32px;
}

@media screen and (max-width: 767px) {
    .recruit-page .area01 .lead {
        font-size: 32px;
        padding-bottom: 16px;
    }
}

@media screen and (max-width: 1279px) {
    .recruit-page .area01 .is-row > .is-col.is-20 {
        min-width: calc(10% - 24px);
    }

    .recruit-page .area01 .is-row > .is-col.is-40 {
        min-width: calc(50% - 24px);
    }
}

.recruit-page .area01 dl {
    color: rgba(255, 255, 255, 1);
    font-size: 24px;
    margin-bottom: 24px;
}

.recruit-page .area01 dt {
    font-size: 32px;
    font-weight: 400;
    color : #b99000;
}

@media screen and (max-width: 767px) {
    .recruit-page .area01 dt {
        font-size: 24px;
    }
}

.recruit-page .area01 dd {
    font-size: 16px;
    margin-top: 16px;
}

@media screen and (max-width: 767px) {
    .recruit-page .area01 dd {
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .recruit-page .area01 .is-20 {
        display: flex;
        flex-direction: row;
        order: 2;
    }

    .recruit-page .area01 .is-20.pc_only {
        display: none;
    }
}

.recruit-page .area02 {
    padding-bottom: 24px;
}

.recruit-page .area02 .card {
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 767px) {
    .recruit-page .area02 .card {
        border: 1px solid #55587b;
        padding: 16px;
    }
}

.recruit-page .area02 .card .img {
    margin: 0 0 20px;
    text-align: center;
}

.recruit-page .area02 .card .title {
    padding: 12px 0;
    margin: 0 0 10px;
    font-size: 22px;
    border-top: 1px solid #55587b;
    border-bottom: 1px solid #55587b;
    color: #e4c03b;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .recruit-page .area02 .card .title {
        border-top: 0;
        border-bottom: 0;
        background: rgba(16, 17, 40, 0.6);
    }
}

.recruit-page .tbl_primary {
    border-top: 1px solid #55587b;
}

.recruit-page table.tbl_primary tr th, .recruit-page table.tbl_primary tr td {
    font-size: 16px;
    padding: 24px;
    border-bottom: 1px solid #55587b;
}

.recruit-page table.tbl_primary tr th {
    vertical-align: middle;
    border-right: 1px solid #55587b;
}

@media only screen and (max-width: 767px) {
    .recruit-page table.tbl_primary tr th, .recruit-page table.tbl_primary tr td {
        text-align: left;
        padding: 0;
    }

    .recruit-page table.tbl_primary tr th {
        font-weight: 600;
        border-bottom: none;
        padding: 16px 0 0;
        margin-bottom: 8px;
        border-right: 0;
    }

    .recruit-page table.tbl_primary tr td {
        color: rgba(255, 255, 255, 0.62);
        border-bottom: 1px dotted #55587b;
        padding: 0 0 16px;
    }
}

@media only screen and (max-width: 374px) {
    .recruit-page table.tbl_primary tr td {
        font-size: 15px;
    }
}

/*------------------------

Q&A

------------------------*/
.faq-page .page-list {
    padding: 32px 0;
}

.faq-page .page-list ul {
    display: flex;
    justify-content: center;
}

@media screen and (max-width: 767px) {
    .faq-page .page-list ul {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

.faq-page .page-list ul li {
    list-style-type: none;
    flex: 0 1 auto;
    margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
    .faq-page .page-list ul li {
        margin-bottom: 16px;
    }

    .faq-page .page-list .is-row > .is-col {
        width: 50% !important;
        margin-bottom: 0;
    }

    .faq-page .page-list .is-row > .is-col:first-child {
        width: 100% !important;
    }
}

.faq-page .page-list li a {
    text-align: center;
    display: block;
    text-decoration: none;
    color: #f4eee6;
    padding: 1em 1.8em;
    border-left: 1px solid rgba(255, 255, 255, 0.43);
}

.faq-page .page-list li:last-child a, .faq-page .page-list li:nth-child(4) a {
    border-right: 1px solid rgba(255, 255, 255, 0.43);
}

.faq-page .page-list li a:hover {
    background: #2d2d2d;
}

.faq-page .page-list li a:after {
    content: "\e64b";
    font-family: 'themify';
    margin-left: 16px;
    color: #ba9400;
}

@media only screen and (max-width: 767px) {
    .faq-page .page-list li a:after {
        display: block;
        margin-left: 0;
    }
}

@media only screen and (max-width: 1280px) {
    .faq-page .page-list li a {
        font-size: 14px;
        padding: 1em;
    }
}

@media only screen and (max-width: 767px) {
    .faq-page .page-list li, .faq-page .page-list li a {
        width: 100%;
        padding: 0;
        border: 0;
    }

    .faq-page .page-list {
        padding: 16px 0;
        margin-bottom: 16px;
    }

    .faq-page .page-list li {
        list-style-type: disc;
    }

    .faq-page .page-list li:last-child {
        margin-bottom: 0;
    }

    .faq-page .page-list li a {
        border-right: 1px solid rgba(255, 255, 255, 0.43);
        border-bottom: 1px solid rgba(255, 255, 255, 0.43);
        padding: 8px 0 4px;
    }

    .faq-page .page-list li:nth-child(even) a {
        border-left: 1px solid rgba(255, 255, 255, 0.43);
    }

    .faq-page .page-list li:first-child a {
        border-left: 1px solid rgba(255, 255, 255, 0.43);
        border-top: 1px solid rgba(255, 255, 255, 0.43);
    }
}

.box_faq {
    margin-bottom: 64px;
}

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .box_faq {
        margin-bottom: 56px;
    }
}

@media only screen and (max-width: 767px) {
    .box_faq {
        margin-bottom: 48px;
    }
}

.box_faq h3 + .wrp_faq {
    border-top: 1px dotted #7f7f7f;
}

.box_faq .wrp_faq {
    border-bottom: 1px dotted #7f7f7f;
    margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq {
        margin-bottom: 0;
    }
}

.box_faq .wrp_faq dt, .box_faq .wrp_faq dd {
    font-size: 116%;
    font-family: "YuGothicBold", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "sans-serif";
    box-sizing: border-box;
}

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .box_faq .wrp_faq dt, .box_faq .wrp_faq dd {
        font-size: 108%;
    }
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq dt, .box_faq .wrp_faq dd {
        font-size: 100%;
    }
}

.box_faq .wrp_faq dt:before, .box_faq .wrp_faq dd:before {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.5em;
    font-size: 200%;
    font-family: "Times new roman", serif;
    font-weight: normal;
    line-height: 1;
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq dt:before, .box_faq .wrp_faq dd:before {
        margin-right: 0.3em;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .box_faq .wrp_faq dt:before, .box_faq .wrp_faq dd:before {
        font-size: 177%;
    }
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq dt:before, .box_faq .wrp_faq dd:before {
        font-size: 154%;
    }
}

.box_faq .wrp_faq dt span, .box_faq .wrp_faq dd span {
    padding-top: 5px;
}

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .box_faq .wrp_faq dt span, .box_faq .wrp_faq dd span {
        padding-top: 3px;
    }
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq dt span, .box_faq .wrp_faq dd span {
        padding-top: 3px;
    }
}

.box_faq .wrp_faq dt {
    position: relative;
    padding: 25px 20px;
    font-weight: bold;
    -moz-transition: opacity 300ms ease;
    -o-transition: opacity 300ms ease;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
}

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .box_faq .wrp_faq dt {
        padding: 1.5em 1em;
    }
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq dt {
        padding: 1em;
    }
}

.box_faq .wrp_faq dt:before {
    content: 'Q';
    color: #fff;
    background: #ba9400;
    border-radius: 24px;
    width: 48px;
    height: 48px;
    font-size: 32px;
    text-align: center;
    padding-top: 6px;
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq dt:before {
        width: 32px;
        height: 32px;
        font-size: 24px;
        padding-top: 3px;
    }
}

.box_faq .wrp_faq dt:after {
    content: "\e61a";
    position: absolute;
    right: 0;
    top: 50%;
    width: 30px;
    height: 30px;
    margin-top: -15px;
    font-family: 'themify';
    background: #00297a;
    text-align: center;
    border-radius: 15px;
    font-size: 16px;
    padding-top: 3px;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq dt:after {
    }
}

.box_faq .wrp_faq dt.active:after {
    content: "\e622";
    background: #2d2d2d;
}

.box_faq .wrp_faq dt:hover {
    cursor: pointer;
    opacity: 0.7;
}

.box_faq .wrp_faq dt span {
    display: inline-block;
    vertical-align: top;
    width: 90%;
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq dt span {
        width: 82%;
        font-size: 14px;
        font-weight: 400;
    }
}

.box_faq .wrp_faq dd {
    display: none;
    background: #2d2d2d;
    padding: 25px;
    margin: 0 50px 30px;
}

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .box_faq .wrp_faq dd {
        padding: 1.5em;
    }
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq dd {
        padding: 1em 0.5em;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1080px) {
    .box_faq .wrp_faq dd {
        margin: 0 30px 20px;
    }
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq dd {
        margin: 0 1em 16px;
        font-size: 14px;
    }
}

.box_faq .wrp_faq dd:before {
    content: 'A';
    color: #fff;
    background: #0d2a76;
    border-radius: 24px;
    width: 48px;
    height: 48px;
    font-size: 32px;
    text-align: center;
    padding-top: 6px;
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq dd:before {
        width: 32px;
        height: 32px;
        font-size: 24px;
        padding-top: 3px;
    }
}

.box_faq .wrp_faq dd > span {
    width: 93%;
    display: inline-block;
    vertical-align: top;
}

@media only screen and (max-width: 1349px) {
    .box_faq .wrp_faq dd > span {
        width: 90%;
    }
}

@media only screen and (max-width: 767px) {
    .box_faq .wrp_faq dd > span {
        width: 80%;
    }
}

.box_faq .wrp_faq dd > span form {
    display: inline;
}

.box_faq .wrp_faq dd > span form input {
    background: none;
    border: none;
    font-family: "YuGothicBold", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "sans-serif";
    text-decoration: underline;
}

.box_faq .wrp_faq dd > span form input:hover {
    text-decoration: none;
    cursor: pointer;
}

.box_faq .wrp_faq dd > span form input:focus {
    outline: none;
}

.faq-page .search-area {
    margin-top: 32px;
}

@media only screen and (max-width: 767px) {
    .faq-page .search-area {
        margin-top: 16px;
    }

    .faq-page .search-area .tripai {
        margin-bottom: 16px;
    }

    .faq-page .search-area form label {
        color: #fff;
    }

    .faq-page .is-append input, .faq-page .search-area form label {
        font-size: 16px;
        font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    }

    .faq-page .is-append input.is-search {
        flex: 0;
        font-size: 16px;
        width: 100%;
        min-width: calc(100% - 78px);
    }
}

.faq-page .form-item .search-btn, .faq-page .form-item .search-btn:active, .faq-page .form-item .search-btn:focus {
    color: rgba(255,255,255,.95);
    background: #0c3dd7;
    margin-left: -1px;
    border-radius: 0 4px 4px 0!important
}

/*------------------------

アレルギーお伺いフォーム

------------------------*/
.allergies-page .lead {
    font-size: 18px;
    color: #fff;
}

/*------------------------

サイトマップ

------------------------*/
.sitemap-page .contents .sitemap {
    padding: 40px 0;
}

.sitemap-page .contents .sitemap nav {
    padding: 0 24px;
}

@media only screen and (max-width: 767px) {
    .sitemap-page .contents .sitemap nav {
        padding: 0;
    }
}

.sitemap-page .contents .sitemap .is-col {
    border-left: 1px solid #2b2b2b;
}

@media only screen and (max-width: 767px) {
    .sitemap-page .contents .sitemap .is-col {
        border-left: 0;
    }

    .sitemap-page .contents .sitemap .sub-menu {
        border-left: none;
        border-right: none;
    }
}

.sitemap-page .contents .sitemap ul li {
    margin-bottom: 16px;
}

@media only screen and (max-width: 767px) {
    .sitemap-page .contents .sitemap ul li {
        margin-bottom: 0;
    }
}

.sitemap-page .contents .sitemap ul li a {
    color: #fff;
    text-decoration: none;
    display: block;
    position: relative;
    padding-left: 20px;
}

@media only screen and (max-width: 767px) {
    .sitemap-page .contents .sitemap {
        padding: 10px 0 30px 0;
    }

    .sitemap-page .contents .sitemap ul li a {
        padding: 15px 0 15px 24px;
        border-bottom: 1px solid #464646;
        position: relative;
        display: block;
        text-align: left;
    }
}

.sitemap-page .contents .sitemap .sub-menu li a {
    font-size: 14px;
}

.sitemap-page .contents .sitemap ul li a:before {
    font-size: 12px;
    margin-top: -10px;
    content: "\e649";
    position: absolute;
    top: 1.1em;
    left: 0;
    font-family: "themify";
}

@media only screen and (max-width: 767px) {
    .sitemap-page .contents .sitemap ul li a:before {
        top: 2.4em;
    }
}

@media only screen and (max-width: 767px) {
    .sitemap-page .contents .sitemap ul li a:before {
        top: 2.4em;
    }
}

.sitemap-page .contents .sitemap ul li ul li a:before {
    margin-top: 3px;
    top: 0;
}

@media only screen and (max-width: 767px) {
    .sitemap-page .contents .sitemap ul li ul li a:before {
        margin-top: 17px;
    }
}

.sitemap-page .contents .sitemap .sub-menu li a:before {
    font-size: 9px;
}

.sitemap-page .contents .sitemap .sub-menu ul li a:before {
    margin-top: 4px;
    top: 0;
}

@media only screen and (max-width: 767px) {
    .sitemap-page .contents .sitemap .sub-menu ul li a:before {
        margin-top: 17px;
    }
}

.sitemap-page .contents .sitemap ul ul {
    margin-top: 8px;
    font-size: 14px;
}

.sitemap-page .contents .sitemap ul ul li {
    margin-bottom: 8px;
}

.sitemap-page .contents .sitemap ul ul li a {
    color: rgba(255, 255, 255, 0.7);
}

.sitemap-page .contents .sitemap ul ul li a:before {
    content: "\e65d";
    margin-top: -8px;
}
