/*
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,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    font-weight: normal;
}

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 {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

/* change colours to suit your needs */
ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

/* change colours to suit your needs */
mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

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;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input,
select {
    vertical-align: middle;
}

/* 共通 */

*,
:after,
:before {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
}

body {
    color: #4a4a4a;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.5;
    text-rendering: optimizeLegibility;
    font-family: EB Garamond, Shippori Mincho;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    display: block;
    width: 100%;
    overflow: visible;
}

main {
    width: 100%;
    display: block;

}

input {
    font-family: EB Garamond, Shippori Mincho;
}

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

a {
    text-decoration: none;
}

p {
    font-size: 20px;
}

ul,
li {
    list-style: none;
}

.center {
    text-align: center;
}

.flex {
    display: flex;
}

.flex_r {
    display: flex;
    flex-direction: row-reverse;
}

h1 {
    font-size: 40px;
}

h2 {
    font-size: 35.2px;
    text-align: center;
}

h3 {
    font-size: 24px;
    text-align: center;
}

h4 {
    font-size: 24px;
    margin-top: 24px;
}

.mt-94 {
    margin-top: 94px !important;
}

.mt-64 {
    margin-top: 64px !important;
}

.mt-24 {
    margin-top: 24px !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.pd-0 {
    padding: 0 !important;
}

.pd-24 {
    padding: 24px;
}

.fs-12 {
    font-size: 12px !important;
}

.fs-14 {
    font-size: 14px !important;
}

.fs-20 {
    font-size: 20px !important;
}

.fs-21 {
    font-size: 21px !important;
}

.fs-24 {
    font-size: 24px !important;
}

.fc-w {
    color: rgb(255, 255, 255) !important;
}

/*ヘッダー*/
.header {
    position: sticky;
    top: 0px;
    z-index: 10;
    display: block;
}

.header_container {
    display: block;
    padding: 0px;
    width: 100%;
    background-color: rgb(255, 255, 255);
    transition: 0.3s;
}

.header_upper {
    display: flex;
    padding: 8px 40px;
    align-items: center;
    min-height: 80px;
}

.header_logo {
    display: flex;
    align-items: center;
    margin-right: 16px;
}

.ui-logo {
    width: 32px;
}

.ui-logo a {
    display: block;
}

.header_content {
    flex: 1 1 0%;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: end;
    justify-content: flex-end;
}

.ui-sns-item_container {
    flex: 1 1 0%;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: end;
    justify-content: flex-end;
}

.ui-sns-item_container a {
    display: block;
    width: 32px;
}

.header_lower {
    min-height: 58px;
    padding: 0px 0px 0px 40px;
    display: flex;
    -webkit-box-align: inherit;
    align-items: inherit;
    border-top: 1px solid rgb(233, 233, 233);
    border-bottom: 1px solid rgb(233, 233, 233);
}

.header_links {
    -webkit-box-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    align-items: center;
    flex: 1 1 0%;
    display: flex;
    flex-flow: wrap;
}

.header_link {
    display: block;
    position: relative;

}

.header_link-anchor {
    padding: 4px 16px;
    display: block;
    width: 100%;
    cursor: pointer;
    color: rgb(0, 0, 0);
    text-decoration: none;
    background-color: transparent;
}

.header_buttons-container {
    width: auto;
    min-width: 100px;
    max-width: 180px;
    min-height: 48px;
    border-radius: 0px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
    box-sizing: border-box;
    display: block;
    background-color: rgb(160, 77, 67);
}

.header_buttons-container a {
    color: rgb(255, 255, 255);
    display: block;
    padding: 16px 24px;
}

.header_buttons-container p {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.c-hamburger {
    position: relative;
    width: inherit;
    height: inherit;
    margin: 0;
    padding: 0;
    cursor: pointer;
    background-color: rgb(255, 255, 255);
}


.c-hamburger span {
    display: block;
    position: relative;
    left: 50%;
    width: 24.5px;
    /*線の横幅*/
    height: 4px;
    /* 線の高さ*/
    transform: translateX(-50%);
    background: rgb(0, 0, 0);
    /*線の色*/

}

/* 三本線それぞれtopプロパティで位置指定する */
.c-hamburger span:nth-of-type(1) {
    top: -4px;
}

.c-hamburger span:nth-of-type(2) {
    top: 1px;
}

.c-hamburger span:nth-of-type(3) {
    top: 6px;
}

/* is-activeクラスが付いたら、×にする */
.c-hamburger.is-active span:nth-of-type(1) {
    top: 5px;
    transform: translateX(-50%) rotate(225deg);
    height: 5px;
    border-radius: 5px;
}

.c-hamburger.is-active span:nth-of-type(2) {
    opacity: 0;
}


.c-hamburger.is-active span:nth-of-type(3) {
    top: -3.5px;
    transform: translateX(-50%) rotate(-225deg);
    height: 5px;
    border-radius: 5px;
}

/* 背景を固定する */

.is-fixed {
    height: 100%;
    overflow: hidden;
}



.p-header_hamburger {
    z-index: 100;
    margin: 0 19px;
}

@media screen and (min-width:870px) {
    .p-header_hamburger {
        display: none;
    }
}

.sp_menu.is-active {
    position: fixed;
    visibility: visible;
    right: 0;
    opacity: 1;
    transition: 0.6s;
}

.p-nav {
    padding-top: 72px;
    padding-bottom: 72px;
}

.sp_menu {
    visibility: hidden;
    opacity: 0;
    z-index: 99999;
    position: fixed;
    top: 48px;
    right: -100%;
    height: calc(-48px + 100vh);
    width: 70%;
    max-width: 400px;
    background-color: rgb(255, 255, 255);
}

.sp_menu .header_links {
    border-top: 1px solid rgb(233, 233, 233);
    margin-top: -1px;
    color: rgb(0, 0, 0);
}

.sp_menu .header_link {
    display: inline-block;
    width: 100%;
    border-bottom: 1px solid rgb(233, 233, 233);
    margin-bottom: -1px;
    color: rgb(0, 0, 0);
}

.sp_menu a {
    padding: 12px 16px;
    font-size: 14px;
}

.sp_menu .header_buttons-container {
    margin: 40px auto 0;
    width: 75%;
    max-width: 400px;
    height: 48px;
}

.sp_menu .ui-sns-item_container {
    padding: 32px;
    margin: 0 auto;
    justify-content: center;
}

.sp_menu .ui-sns-item_container img {
    width: 100px;
    height: 100px;
    z-index: 10000000;
}

@media screen and (max-width:869px) {

    .header_lower,
    .header_content .ui-sns-item_container {
        display: none;

    }
}


/*mv*/
.hero-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.visual {
    width: 100%;
    height: 675px;
    min-height: calc(1200px* .5625);
    background-position: 50%;
    background-size: cover;
    display: flex;
    align-items: center;
    position: relative;
    object-fit: cover;
}

.visual .content {
    max-width: 100%;
    width: 90%;
    margin: 0 auto;
    padding: 24px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);

}

.visual .content img {
    width: 200px;
}

.visual .content .images,
.visual .content .title,
.visual .content .subtitle {
    display: grid;
    margin: 0 auto;
    text-align: center;
    justify-content: center;
}

.visual .title h1 {
    color: #4a4a4a;
    margin: 24px 0 0 0;
}

.visual .subtitle h2 {
    font-size: 22.4px;
    color: #4a4a4a;
    margin: 16px 0 0 0;
}

/*メインコンテンツ */

.content {
    padding: 64px 0;
}

.content h2 {
    font-size: 2.2em;
    margin: 0;
}

.content_block {
    width: 90%;
    max-width: 1200px;
    padding: 24px;
    margin: 0 auto 48px;
    background-color: rgb(255, 255, 255);
}

.content h3 {
    font-size: 24px;
    margin-top: 24px;
}

.content h3.sub {
    font-size: 20px;
    margin: 16px auto 0;
}

.content_block .row {
    margin: 24px auto 0;
}

.content_block .row img {
    border-radius: 8px;
}

.content_block .row.images {
    max-width: 1200px;
    padding: 0 24px;
}

.content_block .row.images img {
    object-fit: cover;
    aspect-ratio: 2 / 1;
}

.ui_button {
    width: 250px;
    max-width: 500px;
    min-height: 24px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
    background-color: rgb(255, 255, 255);
    color: rgb(0, 0, 0);
    border: 2px solid rgb(0, 0, 0);
    margin: 40px auto 0;
}

.ui_button a {
    display: block;
    background-color: rgb(255, 255, 255);
    color: rgb(0, 0, 0);
    padding: 10px 14px;
}

.ui_button p {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
}

.content_produce {
    color: rgb(74, 74, 74);
    background-color: rgb(17, 4, 13);
    padding-bottom: 26px;
}

.content_produce .content_block {
    width: 90%;
    max-width: 1200px;
    margin-top: 64px;
    padding: 24px;
}

.list_item {
    padding: 24px;
    margin-bottom: 64px;
}

.list_item:last-child {
    margin-bottom: 0;
}

.list_item .row {
    width: 50%;
    margin: 0;
}

.list_item.flex .row:first-child {
    margin-right: 32px;
}

.list_item.flex .row:nth-child(2) {
    margin-left: 32px;
}

.list_item.flex_r .row:first-child {
    margin-left: 32px;
}

.list_item.flex_r .row:nth-child(2) {
    margin-right: 32px;
}

.list_item h3 {
    text-align: left;
    font-size: 28px;
}

.list_item img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 4/3;
}

.list_item .text {
    margin-top: 24px;
}

.list_item .text p {
    font-size: 16px;
}

.list_item .ui_button {
    width: 250px;
}

.content_contact {
    color: rgb(74, 74, 74);
    background-color: rgb(17, 4, 13);
    padding-bottom: 64px;
}

.content_contact .content_inner {
    width: 90%;
    margin: 0 auto;
}

.content_contact h3,
.content_contact .row {
    color: rgb(255, 255, 255);
}

.content_contact .row {
    margin-top: 64px;
    padding: 24px 24px 0;
}

.content_contact h3 {
    font-size: 20px;
}

.content_contact p {
    margin-bottom: 0;
    font-family: Shippori Mincho;
}

.content_contact .row p {
    font-size: 16px;
}


.button_area .ui_button {
    color: rgb(255, 255, 255);
    background-color: rgb(0, 0, 0);
    border: 2px solid rgb(255, 255, 255);
    margin: 40px 20px 0;
    padding: 0;
    width: 100%;
    max-width: 540px;
}

.button_area {
    margin: 48px auto 0;
    justify-content: center;
}

.button_area a {
    display: block;
    color: rgb(255, 255, 255);
    background-color: rgb(0, 0, 0);
    width: 100%;
    height: 100%;
    padding: 14px;
}

.button_area p {
    width: 100%;
}

.ui_button .heading {
    font-family: Shippori Mincho;
    font-size: 24px;
    margin-bottom: 8px;
}

/*footer*/

.footer-content {
    padding: 40px 40px 0;
    margin: 0 auto;
}


.footer_logo .ui-logo {
    text-align: center;
    margin: 0 auto;
}

.footer_links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 40px 0;
    margin: 0 auto;
}

.footer_link {
    padding: 0 26px;
    margin-bottom: 48px;
}

.footer_link a {
    color: rgb(0, 0, 0);
    border-bottom: 1px solid rgb(0, 0, 0);
}

.footer_bottom {
    border-top: 1px solid rgb(233, 233, 233);
    padding: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.footer_copyright p {
    font-size: 16px;
    color: rgb(214, 214, 214);
    margin: 0;
}

/*subpage*/

.subpage_header {
    background-color: rgb(125, 168, 124);
    padding: 0;
    height: 675px;
}

.subpage_header .row {
    width: 50%;
    box-sizing: border-box;
}

.subpage_header .row:last-child {
    padding: 64px;
}

.subpage_header .row:last-child img {
    width: 200px;
}

.subpage_header .row.images {
    height: 100%;
}

.subpage_header .row.images img {
    object-fit: cover;
    aspect-ratio: 2 / 3;
    height: 675px;
    width: 100%;
}

.subpage_header .row.center {
    display: grid;
    place-content: center;
    place-items: center;
}

.subpage_header .row.center img {
    margin-bottom: 24px;
}

.subpage_header .row.center .text p {
    font-size: 22.4px;
}

.subpage_header .ui_button {
    border: 2px solid rgb(0, 0, 0);
}

.subpage_header .button_area a {
    background-color: rgb(255, 255, 255);
    color: rgb(0, 0, 0);
}

.subpage_header .row.center .button_area.flex {
    margin-bottom: 0;
    width: 420px;
    justify-content: space-between;
}

.subpage_header .row.center .button_area .ui_button {
    width: 200px;
    box-sizing: border-box;
    font-weight: normal;
    margin: 40px 0 0;
}

.content_philosophy .content_comapny .content_profile {
    padding-top: 64px;
}

.content_philosophy h2 {
    font-size: 28px;
}

.content_philosophy .list_item h3 {
    margin-top: 0px
}

.content_philosophy .flex .row.images {
    width: 50%;
    padding: 0;
}

.content_philosophy .flex_r .row.images {
    width: 50%;
    padding: 0;
}

.content_philosophy .row.images img {
    object-fit: cover;
    aspect-ratio: 3/2;
}

.content_company .title_sub {
    padding-bottom: 64px;
}

.content_company .title_sub p,
.content_access .title_sub p {
    text-align: center;
    margin-top: 24px;
}

.content_company table {
    padding-top: 24px;
    max-width: 816px;
    width: 100%;
    margin: 0 auto;
}

.content_company td {
    vertical-align: middle;
    font-weight: 500;
    border-bottom: 1px solid rgb(240, 240, 240);
    padding: 8px;
    font-family: Shippori Mincho;
}

.content_company td:nth-child(odd) {
    width: 33%;
}

.content_company td:nth-child(even) {
    width: 66%;
}

.content_profile,
.content_plan,
.content_partner,
.content_stores,
.content_engagement,
.content_gallery,
.content_pb,
.content_form {
    color: rgb(74, 74, 74);
    background-color: rgb(17, 4, 13);
    padding-bottom: 26px;
}

.content_profile .title_sub,
.content_plan .title_sub,
.content_partner .title_sub,
.content_stores .title_sub,
.content_engagement .title_sub {
    padding-bottom: 64px;
}

.content_profile .list_item .title_sub,
.content_plan .list_item .title_sub,
.content_partner .list_item .title_sub,
.content_stores .list_item .title_sub,
.content_engagement .list_item .title_sub {
    padding-bottom: 0;
}

.content_profile .list_item .title_sub h3,
.content_plan .list_item .title_sub h3,
.content_partner .list_item .title_sub h3,
.content_stores .list_item .title_sub h3,
.content_engagement .list_item .title_sub h3 {
    margin-top: 0;
}

.content_plan .list_item p,
.content_partner .list_item p,
.content_stores .list_item p,
.content_restaurant .list_item p,
.content_engagement .list_item p {
    font-size: 16px;
}

.content_partner .list_item .kiyoko_manabe {
    text-align: center;
    font-size: 21px;
}

.content_access {
    background-color: rgb(249, 249, 249);
    padding-bottom: 16px;
}

.content_access .content_block {
    background-color: rgb(249, 249, 249);
}

.content_access .list_item .title_sub h3 {
    margin-top: 0;
}

.content_access .list_item p {
    font-size: 16px;
}

/* Google Mapを囲う要素 */
.content_access .list_item .map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%;
}

/* Google Mapのiframe */
.content_access .list_item .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.content_partner h2 {
    font-size: 32px;
}

.content_contact.subpage .button_area {
    padding: 0px 24px 48px;

}

.content_contact.subpage .title_sub p {
    text-align: center;
    font-size: 20px;
    margin-top: 24px;
}

.content_stores .flex {
    justify-content: space-between;
}

.content_stores .list_item.flex .row {
    width: 30%;
    margin: 0 auto;
}

.content_stores .list_item.flex .row .text {
    margin-top: 30px;
}

.content.content_restaurant {
    padding-top: 0;
    padding-bottom: 16px;
}

.content_restaurant .bg_img img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    background-size: cover;
    background-position: center center;
    position: relative;
}

.content_restaurant .content_inner {
    padding-top: 24px;
}

.content_restaurant h3 {
    font-size: 24px;
    margin-top: 0;
}

.content_engagement h2 {
    font-size: 35.2px;
}

.content_photo .title_sub p {
    text-align: center;
}

.content_photo .list_item h3,
.content_price .list_item h3 {
    font-size: 24px;
    margin-top: 0;
}

.content_photo .ui_button p {
    font-family: "Shippori Mincho";
}

.content_gallery .row img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 3/2;
    border-radius: 0;
}

.content_gallery .list_item {
    flex-wrap: wrap;
    padding: 0;
}

.content_gallery .list_item .row {
    width: calc(33.3333% - 16px);
    padding: 24px;
    margin: 24px 24px 0px 0px;
}

.content_gallery .list_item .row:nth-child(-n+2) {
    margin: 0 24px 0px 0px;
}

.content_gallery .list_item .row:nth-child(3n) {
    margin: 24px 0 0 0;
}

.content_gallery .list_item .row:nth-child(3) {
    margin: 0 0 0 0;
}

.content_pb h1,
.content_form h1 {
    font-size: 32px;
    text-align: center;
}

.content_pb h2,
.content_form h2 {
    font-size: 20px;
}

.content_pb h3,
.content_form h3 {
    font-size: 16px;
    font-weight: 700;
}

.content_pb p,
.content_form p {
    font-size: 16px;
}

.content_pb .title_sub,
.content_form .title_sub {
    margin-top: 16px;
}

.content_pb .content_block {
    margin-top: 64px;
    padding: 48px;
}

.content_form .content_block {
    margin-top: 64px;
}


/*フォーム*/

.form {
    width: 60%;
    margin: 0 auto;
    padding: 24px;
}

.form label {
    display: block;
    font-size: 14px;
    margin-bottom: 24px;
}

.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-textarea {
    display: block;
    position: relative;
    width: 100%;
    padding: 7px 16px 9px;
    border: 1px solid rgb(187, 187, 187);
    border-radius: 6px;
    box-sizing: border-box;
}

.wpcf7-submit {
    font-size: 16px;
    font-weight: 700;
    display: block;
    width: auto;
    margin: 0 auto;
    padding: 12px 16px;
    background: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
}

.wpcf7-not-valid-tip {
    color: rgb(255, 0, 0);
    font-size: 12px;
}

/*レスポンシブ対応*/

@media screen and (max-width:869px) {
    p {
        font-size: 14px;
    }

    h4 {
        font-size: 21px;
    }

    .sp_w-90 {
        width: 90% !important;
    }

    .sp_mt-16 {
        margin-top: 16px !important;
    }

    .sp_mt-24 {
        margin-top: 24px !important;
    }

    .sp_mt-64 {
        margin-top: 64px !important;
    }

    .sp_mb-64 {
        margin-bottom: 64px !important;
    }

    .sp_pd-0 {
        padding: 0 !important;
    }

    .sp_fs-14 {
        font-size: 14px !important;
    }

    .sp_fs-21 {
        font-size: 21px !important;
    }

    .header_upper {
        min-height: 48px;
        padding: 0px 0px 0px 16px;
    }

    .visual {
        min-height: calc(100vw* 1.77778);
    }

    .visual .bg img {
        min-height: calc(100vw* 1.77778);
    }

    .visual h1 {
        font-size: 35px;
    }

    .visual .subtitle h2 {
        font-size: 19.6px;
    }

    .content {
        padding: 64px 0;
    }

    .content h2 {
        font-size: 24.5px;
        ;
    }

    .content h3.sub {
        font-size: 14px;
    }

    .content_about {
        padding-bottom: 40px;
    }

    .content_about p {
        font-size: 17.5px;
    }

    .content_block {
        width: 95%;
        padding: 8px;
        margin: 0 auto;
    }

    .content_block .item {
        width: 90%;
        margin: 0 auto;
        padding: 16px 0;
    }

    .content_block .row.images {
        padding: 0;
        margin: 0;
    }

    .ui_button {
        width: 100%;
        max-width: 500px;
    }

    .ui_button p {
        font-size: 14px;
    }

    .content_produce .content_block {
        width: 95%;
        padding: 8px;
    }

    .content_produce h2 {
        font-size: 28px;
    }

    .flex {
        flex-wrap: wrap;
    }

    .flex_r {
        flex-wrap: wrap;
    }

    .list_item {
        width: 90%;
        padding: 0;
        margin: 0 auto 48px;
    }

    .list_item .row {
        width: 100%;
    }

    .list_item.flex .row:first-child,
    .list_item.flex .row:nth-child(2) {
        margin: 0;
    }

    .list_item.flex_r .row:first-child,
    .list_item.flex_r .row:nth-child(2) {
        margin: 0;
    }

    .list_item h3 {
        text-align: center;
        font-size: 21px !important;
    }

    .list_item .text p {
        font-size: 14px;
    }

    .list_item .ui_button {
        width: 100%;
        max-width: 500px;
    }

    .content_contact {
        padding-bottom: 64px;
    }

    .content_contact h3,
    .content_contact p {
        font-size: 17.5px;
    }

    .content_contact .row h3 {
        font-size: 21px;
        text-align: left;
    }

    .content_contact .row p {
        font-size: 14px;
        text-align: left;
    }

    .content_contact .button_area {
        margin-top: 0;
    }

    .content_contact .ui_button {
        width: 100%;

    }

    .footer-content {
        padding: 40px 24px 24px;
    }

    .footer_links {
        padding: 24px 0 0 0;
    }

    .footer_link {
        padding: 0;
        margin: 0;
        display: block;
        width: 100%;
    }

    .footer_link a {
        display: block;
        padding: 12px 0;
        font-size: 14px;
        border-bottom: 1px solid rgb(233, 233, 233);
        margin-bottom: -1px;
        color: rgb(0, 0, 0);
    }

    .footer_bottom {
        flex-wrap: wrap;
        padding: 0;
        border-top: 0;
    }

    .footer_content,
    .footer_copyright {
        width: 100%;
    }

    .footer_content {
        padding: 16px 16px 32px;
        border-bottom: 1px solid rgb(233, 233, 233);
        margin-bottom: -1px;
        color: rgb(0, 0, 0);

    }

    .footer_content .ui-sns-item_container {
        justify-content: center;
    }

    .footer_copyright {
        text-align: center;
        padding: 24px;
    }

    .footer_copyright p {
        font-size: 14px;
    }

    .subpage_header {
        height: 100%;
    }

    .content.subpage_header {
        padding: 0;
    }

    .subpage_header .row {
        width: 100%;
    }

    .subpage_header .row.center {
        max-width: calc(90% - 43.2px);
        min-width: 294px;
        margin: 0 auto;
    }

    .subpage_header .row.center .button_area.flex {
        width: 100%;
        margin-top: 20px;
    }

    .subpage_header .row.images {
        height: 100%;
    }

    .subpage_header .row.images img {
        min-height: calc(-40px + 50vh);
        height: calc(-40px + 50vh);
    }

    .subpage_header .row:last-child img {
        width: 200px;
        /*max-width: calc(90% - 43.2px);
        min-width: 294px;*/
    }

    .subpage_header .row:last-child {
        padding: 24px;
    }

    .subpage_header .ui_button {
        border: 2px solid rgb(0, 0, 0);
    }

    .subpage_header .button_area a {
        background-color: rgb(255, 255, 255);
        color: rgb(0, 0, 0);
    }

    .subpage_header .row.center .button_area .ui_button {
        width: 100%;
        max-width: 500px;
        margin-top: 20px;
    }

    .subpage_header h1 {
        font-size: 42px;
    }

    .subpage_header .row.center .text p {
        font-size: 19.6px;
    }

    .content_philosophy h2 {
        font-size: 28px;
    }

    .content_philosophy h3.sub {
        font-size: 17.5px;
    }

    .content_philosophy p {
        font-size: 17.5px;
    }

    .content_philosophy .row {
        margin-top: 0;
    }

    .content_philosophy .content_block {
        margin-bottom: 40px;
    }

    .content_philosophy .flex .row.images,
    .content_philosophy .flex_r .row.images {
        width: 100%;
    }

    .content_philosophy .content_block {
        width: 95%;
        padding: 8px;
    }

    .content_company {
        padding-bottom: 64px;
    }

    .content_company .content_block {
        font-size: 14px;
    }

    .content_company table {
        width: 90%;
    }

    .content_profile .content_block {
        width: 95%;
        padding: 8px;
    }

    .content_profile {
        padding: 64px 0;
    }

    .content_profile h2 {
        font-size: 30.8px;
    }

    .content_profile h3 {
        font-size: 17.5px;
    }

    .content_access h2 {
        font-size: 28px;
    }

    .content_access h3.sub {
        font-size: 17.5px;

    }

    .content_access .list_item {
        margin-bottom: 64px;
    }

    .content_access .list_item:last-child {
        margin-bottom: 0;
    }

    .content_access .list_item .title_sub h3 {
        margin-top: 24px;
        text-align: left;
    }

    .content_contact.subpage .title_sub p {
        text-align: left;
        font-size: 14px;
    }

    .content_contact.subpage .row {
        margin-bottom: 8px;
    }

    .content_contact.subpage .button_area {
        padding: 8px;
    }

    .content_contact.subpage .button_area .ui_button {
        margin-top: 24px;
    }

    .content_partner h2 {
        font-size: 28px;
    }

    .content_partner h3.sub {
        font-size: 17.5px;
    }

    .content_partner .title_sub p {
        font-size: 17.5px;
        text-align: left;
        width: 90%;
        margin: 0 auto;
    }

    .content_partner .content_block {
        width: 95%;
        padding: 8px;
    }

    .content_partner .list_item .kiyoko_manabe {
        text-align: left;
        font-size: 14px;
    }

    .content_stores {
        padding-bottom: 64px;
    }

    .content_stores h2 {
        font-size: 30.8px;
    }

    .content_stores .content_block {
        width: 95%;
        padding: 8px;
    }

    .content_stores .list_item.flex .row {
        width: 100%;
        margin-bottom: 48px;
    }

    .content_stores .list_item.flex .row:last-child {
        margin-bottom: 0;
    }

    .content_stores .list_item.flex .row .text {
        margin-top: 24px;
    }

    .content_stores .list_item p {
        font-size: 17.5px;
    }

    .content_stores .list_item .ui_button p {
        font-size: 14px;
    }

    .subpage_header.pl .row.center .text p {
        font-size: 16.8px;
    }

    .content_plan {
        padding-bottom: 64px;
    }

    .content_plan .list_item p {
        font-size: 14px;
    }

    .content.content_restaurant {
        padding-bottom: 64px;
    }

    .content_restaurant .title_sub {
        width: 90%;
        margin: 0 auto;
    }

    .content_restaurant .content_block {
        width: 95%;
        padding: 8px;
    }

    .content_restaurant p {
        font-size: 17.5px;
    }

    .content_plan .content_block {
        width: 95%;
        padding: 8px;
    }

    .content_engagement .content_block {
        width: 95%;
        padding: 8px;

    }

    .content_engagement {
        padding-bottom: 64px;
    }

    .subpage_header.eg .button_area {
        width: 100%;
    }

    .subpage_header.eg .row.center .button_area .ui_button {
        margin-top: 0;
    }

    .content_engagement .list_item h3 {
        font-size: 24.5px !important;
    }

    .content_photo .content_block {
        width: 95%;
        padding: 8px;
    }

    .content_photo h2,
    .content_gallery h2,
    .content_price h2 {
        font-size: 30.8px;
    }

    .content_photo h3.sub,
    .content_gallery h3.sub,
    .content_price h3.sub {
        font-size: 17.5px;
    }

    .content_photo .row.center p,
    .content_price .row.center p {
        font-size: 17.5px;
        margin-top: 24px;
    }

    .content_gallery .content_block,
    .content_price .content_block {
        padding: 8px;
    }

    .content_gallery .list_item.flex .row {
        width: 100%;
        padding: 0;
        margin: 0 0 48px 0;
    }

    .content_gallery .list_item.flex .row:last-child {
        margin-bottom: 0;
    }

    .content_price .list_item .text p {
        font-size: 17.5px;
    }

    .content_pb h1,
    .content_form h1 {
        font-size: 28px;
    }

    .content_pb h2,
    .content_form h2 {
        font-size: 17.5px;
    }

    .content_pb h3,
    .content_form h3,
    {
    font-size: 14px;
    font-weight: 700;
}

.content_pb p,
.content_form p {
    font-size: 14px;
}

.content_pb .title_sub,
.content_form .title_sub {
    margin-top: 16px;
}

.content_pb .content_block,
.content_form .content_block {
    padding: 16px 8px 8px 8px;
}

.content_pb .text {
    width: 90%;
    margin: 0 auto;
}

.content_form .row p {
    font-size: 17.5px;
}

.form {
    width: 90%;
}
}