/* 全ページ共通 */
html {
    font-size: 62.5%;
}

body {
    font-family: "ヒラギノ角ゴシック";
    background-color: #F5EBDD;
    margin: 0;
}

a {
    text-decoration: none;
    color: #fff;
}

h1 {
    font-size: 60px;
    color: #5C3B1E;
    line-height: 1;
}

h2 {
    font-family: "游明朝体";
    font-size: 30px;
    color: #5C3B1E;
    line-height: 1;
}

h3 {
    font-size: 26px;
    line-height: 1;
}

li {
    list-style: none;
}

p {
    color: #5C3B1E;
}

/* ヘッダー */
header {
    margin: 0px 70px;
    padding-top: 50px;
    height: 120px;
    display: flex;
    justify-content: space-between;
}

.logo img {
    width: 120px;
    height: 70px;
}

#menu-global-navigation {
    display: flex;
}

@keyframes colorChange {
  0% {
    color: #5C3B1E;
  }
  4.16% {
    color: #5C3B1E;
  }
  33.33% {
    color: #5C3B1E;
  }
  41.66% {
    color: #fff;
  }
  66.66% {
    color: #fff;
  }
  74.99% {
    color: #fff;
  }
  99.5% {
    color: #fff;
  }
  100% {
    color: #5C3B1E;
  }
}

.header_menu a {
    color: #5C3B1E;
    margin-left: 25px;
    font-size: 16px;
}

.firstview .header_menu a {
    animation: colorChange 21s linear infinite;
    animation-delay: 0s;
}

.nav {
    transition: all 250ms ease-out;
    transform: translateX(100%);
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 110px 35px;
    position: fixed;
    top: 0;
    right: -10px;
}

/* ハンバーガーメニューをクリックした時に出るメニュー */
.nav.show {
    background-color: #B69B6F;
    color: #fff;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 110px 35px;
    transform: translateX(0%);
    z-index: 89;
}

.nav-menu {
    display: flex;
    flex-direction: column;
    letter-spacing: 0.5em;
    margin: 0px auto;
    line-height: 1;
}

.nav-menu p {
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 100px;
}

.nav-menu a {
    color: #fff;
    font-weight: 600;
    margin-bottom: 25px;
}
/* 上記ハンバーガーメニュー */

/* フッター */
footer {
    margin-top: 160px;
    background-color: #BFAE9B;
    padding: 50px 70px 0px;
    width: 100%;
    height: 320px;
}

.business_title p {
    color: #fff;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 40px;
}

.business_info {
    display: flex;
    justify-content: space-between;
}

.info_img {
    display: flex;
    flex-flow: column;
    align-items: center;
}

.info_img img {
    width: 120px;
    height: 120px;
}

.info_img p {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    margin-top: 15px;
}

.info_text p {
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 30px;
}

.info_text a {
    display: block;
    margin-bottom: 20px;
}

.display_400 {
    display: none;
}

/* トップページ */
/* ファーストビュー */
.firstview {
    width: 100%;
    height: 100vh;
    margin-bottom: 120px;
}

.catchcopy {
    margin: 49vh 70px 0px;
    color: #fff;
}

.copymain {
    font-size: 42px;
    font-weight: 600;
    color: #fff;
    line-height: 1;
}

.copysub {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    line-height: 1;
    margin-top: 25px;
}

.message {
    width: 100%;
    height: 400px;
    background-image: linear-gradient(to right, #fff, #010101);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    margin-bottom: 100px;
}

.m_text {
    display: flex;
    flex-flow: column;
    color: #fff;
    z-index: 1;
    font-size: 20px;
    font-weight: 600;
    width: 500px;
    margin-top: 60px;
    margin-right: 70px;
}

.m_text p {
    color: #fff;
    margin-bottom: 40px;
}

.message img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
}

/* コンテンツ幅 */
.home_service,
.home_voice,
.home_faq {
    margin: 0px 70px 100px;
}

/* タイトル下　余白 */
.service_title,
.flow_title,
.price_title,
.voice_title,
.faq_title {
    margin-bottom: 40px;
}

/* トップページ　SERVICE */
.small_title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 10px;
}

.small_title::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #C69546;
    margin-right: 5px;
}

.wrap_title {
    margin-bottom: 20px;
}

.inner {
    display: flex;
    justify-content: space-between;
    margin-bottom: 70px;
    gap: 40px
}

.item {
    width: 100%;
    max-width: 500px;
    /* aspect-ratio: 5 / 3; */
}

.item img {
    width: 100%;
    max-width: 500px;
    /* height: calc(width * 0.6); */
    max-height: 300px;
    border-radius: 10px;
    object-fit: cover;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
}

.h_service_item_title {
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    line-height: 1;
    margin-top: 10px;
}

.another_inner {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
    gap: 40px;
}

.home_collect,
.home_gift {
    position: relative;
    width: 100%;
    max-width: 500px;
    /* aspect-ratio: 5 / 3; */
    max-height: 300px;
    color: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
}

.home_collect::before,
.home_gift::before {
    content: '';
    position: absolute;
    inset: 0;
    mix-blend-mode: multiply;
}

.home_collect::before {
    background-color: #6D5339;
}

.home_gift::before {
    background-color: #DE9950;
}

.home_collect img,
.home_gift img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.home_collect h3,
.home_collect p,
.home_gift h3,
.home_gift p {
    color: #fff;
    z-index: 1;
    padding: 0 25px;
    position: absolute;
}

.home_collect h3,
.home_gift h3 {
    top: 30px;
}

.home_collect p,
.home_gift p {
    top: 140px;
    font-size: 18px;
    line-height: 1.5;
}

.service_btn,
.price_btn,
.voice_btn {
    display: flex;
    justify-content: center;
}

.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 50px;
    background-color: #D67200;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
}

/* トップページ　背景 半円 */
.copy_circle {
    width: 100%;
    height: 150px;
    overflow: hidden;
}

.semi-circle {
    width: 100%;
    height: 50vw;
    background-color: #EADBC8;
    clip-path: ellipse(90% 100% at 50% 100%);
}

/* トップページ　FLOW */
.home_flow {
    background-color: #EADBC8;
    padding: 0px 70px 100px;
    overflow: hidden;
}

.flow_wrap {
    display: flex;
    justify-content: space-between;
}

.flow_block {
    width: 250px;
    height: 300px;
    background-color: #F6F5EA;
    display: flex;
    flex-flow: column;
    align-items: center;
    border-radius: 5px;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
}

.flow_block img {
    width: 80px;
    margin: 40px 0px 50px;
}

.flow_text_group {
    display: none;
}

.flow_step {
    width: 100px;
    height: 30px;
    border-radius: 15px;
    background-color: #DFA67B;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}

.flow_text {
    font-size: 20px;
    font-weight: 600;
}

.arrow {
    width: 50px;
    height: 300px;
    clip-path: polygon(5px 20px, 47px 150px, 5px 280px);
    background-color: #D8BA9C;
}

/* トップページ　PRICE */
.home_price {
    background-color: #EADBC8;
    padding: 0px 70px 100px;
}

.basic_price,
.visit_price {
    font-family: "游明朝体";
    font-weight: 600;
}

.basic_price {
    margin-bottom: 70px;
}

.price_content_title {
    margin-bottom: 20px;
}

.price_wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 20px;
}

.basic_price_block,
.visit_price_block {
    width: 250px;
    height: 300px;
    display: flex;
    flex-flow: column;
    align-items: center;
    border-radius: 5px;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
}

.basic_price_block {
    background-color: #F0E4D0;
}

.basic_price_block img {
    width: 80px;
    margin: 40px 0px 50px;
}

.price_content {
    font-size: 24px;
}

.price_content_text {
    font-size: 16px;
}

.price_note {
    font-size: 15px;
}

.price_note p {
    line-height: 1;
    margin-bottom: 5px;
}

.price_note a {
    color: #5C3B1E;
    text-decoration: underline;
    display: block;
    margin-bottom: 10px;
    line-height: 1;
}

.price_note .price_note_line {
    font-weight: bold;
}

.home_price .price_note p:nth-child(8),
.home_price .price_note p:nth-child(11) {
    margin-bottom: 10px;
}

.visit_price {
    margin-bottom: 50px;
}

.visit_price_block {
    background-color: #C9B9A3;
}

.area_title {
    color: #fff;
    font-size: 13px;
    margin: 30px 0px 50px;
}

.area_price {
    font-size: 28px;
    margin-bottom: 40px;
}

.area {
    font-size: 16px;
    margin-bottom: 10px;
}

/* 中間画像 */
.between_image {
    width: 100%;
    height: 400px;
    background-image: url(../image/cover.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 100px;
}

.between_image img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    mix-blend-mode: multiply;
}

/* トップページ　VOICE */
.voice_content_woman,
.voice_content_man {
    width: 100%;
    height: 150px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    padding: 0px 50px;
    margin-bottom: 30px;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
}

.voice_content_woman {
    background-color: #F2C2A6;
}

.voice_content_man {
    background-color: #ACB2EE;
}

.voice_icon {
    display: flex;
    flex-flow: column;
    align-items: center;
}

.icon_wrap {
    width: 80px;
    height: 80px;
    border-radius: 40px;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.voice_icon img {
    width: 60px;
}

.voice_icon p {
    font-size: 12px;
    font-weight: 600;
    color: #000;
}

.voice_content_woman>p,
.voice_content_man>p {
    color: #000;
    font-size: 16px;
    margin-left: 40px;
}

.voice_btn {
    margin-top: 50px;
}

/* トップページ　FAQ */
.question,
.answer {
    width: 100%;
    display: flex;
    align-items: center;
}

.question {
    margin-bottom: 30px;
}

.answer {
    margin-bottom: 40px;
}

.question p,
.answer p {
    font-size: 16px;
    padding-left: 40px;
}

.answer p > a {
    color: #5C3B1E;
    text-decoration: underline;
}

.icon_q,
.icon_a {
    width: 40px;
    height: 40px;
    border-radius: 5px;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    line-height: 40px;
    flex-shrink: 0;
}

.icon_q {
    background-color: #C96F4A;
}

.icon_a {
    background-color: #7A9E9F;
}

/* トップページ　お問い合わせ */
.contact_link {
    width: 100%;
    height: 400px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    position: relative;
    background-image: linear-gradient(to bottom, #926F51, #27170A);
}

.contact_link img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
}

.contact_title {
    font-size: 26px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 50px;
    z-index: 1;
    line-height: 1;
}

.contact_link p:nth-child(n+2) {
    color: #fff;
    font-size: 16px;
    z-index: 1;
    line-height: 1;
    font-weight: 600;
}

.contact_link p:nth-child(2) {
    margin-bottom: 20px;
}

.contact_link p:nth-child(3) {
    margin-bottom: 10px;
}

.contact_btn {
    display: flex;
    justify-content: center;
    z-index: 1;
}

.contact_btn>.btn {
    width: 300px;
    margin-top: 40px;
}

/* 上記トップページ */


/* SERVICEページ */
/* SERVICEページ　SERVICE */
.page_service {
    margin: 120px 70px 100px;
}

.service_item_title {
    font-size: 20px;
    font-weight: 600;
    text-align: start;
    margin: 15px 0px 10px;
    line-height: 1;
}

.item_text {
    font-size: 16px;
}

.service_collect,
.service_gift {
    width: 100%;
    max-width: 500px;
    height: 300px;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 10px;
    background-color: #FBE9D0;
}

.price_secondary_title {
    width: 100%;
    max-width: 500px;
    height: 60px;
    display: flex;
    align-items: center;
    background-color: #E0C9A8;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    line-height: 1;
    padding-left: 25px;
}

.price_secondary_title h3 {
    color: #5C3B1E;
    line-height: 1;
}

.service_collect p,
.service_gift p {
    font-size: 18px;
    padding: 25px 25px 0px;
}

.service_collect img,
.service_gift img {
    width: 110px;
    height: 110px;
    position: relative;
    left: calc(100% * 0.7);
    top: -20px;
}

/* SERVICEページ　PRICE */
.page_price {
    margin: 0px 70px 100px;
}

.price_primary_title {
    margin-bottom: 30px;
}

#price .price_note p:nth-child(3),
#price .price_note p:nth-child(7),
#price .price_note p:nth-child(10) {
    margin-bottom: 10px;
}

/* SERVICEページ 料金詳細 */
.price_group {
    margin: 90px 0px 0px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 40px;
}

.price_addition,
.price_campaign,
.price_pay,
.price_delivery {
    width: 100%;
    max-width: 500px;
    background-color: #FBE9D0;
    border-radius: 10px;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
}

.price_addition {
    height: 350px;
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 50px;
}

.price_campaign {
    height: 1050px;
    grid-column: 2;
    grid-row: span 3;
    justify-self: end;  /* グリッドセル内で右寄せ */
}

.price_pay {
    height: 200px;
    grid-column: 1;
    grid-row: 2;
    margin-bottom: 50px;
}

.price_delivery {
    height: 400px;
    grid-column: 1;
    grid-row: 3;
}

.price_text {
    margin: 25px 25px 0px 25px;
}

.price_text p {
    font-size: 16px;
    line-height: 1;
}

.price_text img {
    width: 100px;
    height: 100px;
    position: relative;
}

.bold {
    font-weight: 600;
    line-height: 1;
}

.mb {
    margin-bottom: 10px;
}

.price_text p.lh {
    line-height: 1.5;
}

.tb_none,
.tb-sp_none {
    display: block;
}

.price_addition .bold {
    margin-bottom: 15px;
}

.price_addition .price_text p:nth-child(n+2):nth-child(-n+3) {
    margin-bottom: 10px;
}

.price_addition .price_text p:nth-child(4) {
    font-size: 12px;
    margin-bottom: 50px;
}

.price_addition .price_text img {
    top: -90px;
    left: calc(100% * 0.7);
}

.campaign_guidance {
    margin-top: 50px;
    margin-bottom: 40px;
    font-weight: 600;
}

.text_inner {
    margin-bottom: 60px;
}

.text_inner>p:nth-child(1) {
    margin-bottom: 15px;
}

.text_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-right: 80px;
    margin-bottom: 15px;
}

.price_campaign .price_text img {
    top: -30px;
    left: calc(100% * 0.7);
}

.price_pay .bold {
    margin-bottom: 10px;
    line-height: 1;
}

.price_pay .price_text img {
    top: -100px;
    left: calc(100% * 0.7);
}

.price_pay .price_text p:nth-child(3) {
    font-size: 12px;
}

.price_delivery .bold {
    margin-bottom: 15px;
}

.price_delivery p:nth-child(2) {
    margin-bottom: 40px;
    line-height: 1.2;
}

.price_delivery p:nth-child(4) {
    margin-bottom: 10px;
}

.price_delivery p:nth-child(5) {
    line-height: 1.2;
}

.price_delivery .price_text img {
    top: -30px;
    left: calc(100% * 0.7);
}

/* VOICEページ */
.page_voice {
    margin: 120px 70px 100px;
}

/* -----画面幅1300px以上----- */
/* -----画面幅調整用----- */
@media screen and (min-width: 1300px) {
header {
    max-width: 1150px;
    margin: 0px auto;
}

footer {
    padding: 40px calc((100% - 1150px) / 2) 0px;
}

.catchcopy {
    max-width: 1150px;
    margin: 49vh auto 0px;
}

.m_text {
    max-width: 1300px;
    margin-right: calc((100% - 1150px) / 2);
}

.home_service,
.home_voice,
.home_faq,
.page_price {
    max-width: 1150px;
    margin: 0px auto 100px;
}

.page_service,
.page_voice {
    max-width: 1150px;
    margin: 120px auto 100px;
}

.home_flow,
.home_price {
    padding: 0px calc((100% - 1150px) / 2) 100px;
}

.message img {
    object-position: 0px -180px;
}
}


/* -----タブレット版----- */
@media screen and (max-width: 1024px) {
/* 画面サイズが1024px以下の場合に適用 */
/* -----共通部分----- */
/* ヘッダー */
.logo img {
    width: 100px;
    height: 60px;
}

/* ハンバーガーメニュー */
.nav_toggle {
    display: block;
    width: 2.8rem;
    height: 2.4rem;
    position: absolute;
    right: 70px;
    z-index: 90;
}

.nav_toggle i {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #5C3B1E;
    position: absolute;
    transition: transform .5s, opacity .5s;
}

.nav_toggle.show {
    position: fixed;
    right: 70px;
}

/* ハンバーガーメニューの3本線 */
.nav_toggle i:nth-child(1) {
    top: 0;
}

.nav_toggle i:nth-child(2) {
    top: 0;
    bottom: 0;
    margin: auto;
}

.nav_toggle i:nth-child(3) {
    bottom: 0;
}

/* ハンバーガーメニューをクリックしたら×に変わる */
.nav_toggle.show i:nth-child(1) {
    transform: translateY(10px) rotate(-45deg);
    background-color: #fff;
}

.nav_toggle.show i:nth-child(2) {
    opacity: 0;
}

.nav_toggle.show i:nth-child(3) {
    transform: translateY(-12px) rotate(45deg);
    background-color: #fff;
}

/* ヘッダーメニュー非表示(画面1024px以下) */
.header_menu {
    display: none;
}

/* ナビメニュー */
.nav-menu a {
    display: flex;
    justify-content: center;
    font-size: 16px;
}
/* 上記ハンバーガーメニュー */

/* フッター */
footer {
    margin-top: 120px;
}

.business_title p {
    font-size: 28px;
}


/* トップページ */
/* ファーストビュー */
.catchcopy {
    margin: 55vh 70px 0px;
}

/* トップページ　SERVICE */
.item {
    max-width: 350px;
    /* aspect-ratio: 5 / 3; */
}

.item img {
    max-width: 350px;
    max-height: 220px;
}

.another_inner {
    margin-bottom: 40px;
}

.home_collect,
.home_gift {
    max-width: 350px;
    max-height: 220px;
}

.home_collect p,
.home_gift p {
    top: 95px;
    font-size: 15px;
    line-height: 1.2;
}

/* トップページ　FLOW */
.flow_wrap {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}

.flow_block {
    width: 100%;
    height: 150px;
    flex-flow: row;
}

.flow_block img {
    margin: 0px 70px 0px auto;
    order: 2;
}

.flow_step {
    margin-left: 60px;
    margin-right: 10px;
    margin-bottom: 0px;
    order: 0;
}

.flow_text {
    order: 1;
}

.arrow {
    width: 300px;
    height: 50px;
    clip-path: polygon(20px 10px, 150px 47px, 280px 10px);
}

/* トップページ　PRICE */
.price_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.basic_price_block,
.visit_price_block {
    width: 100%;
    max-width: 300px;
}

.price_wrap div:nth-child(2),
.price_wrap div:nth-child(4) {
    justify-self: end;
}

.visit_price {
    margin-bottom: 40px;
}

/* 中間画像 */
.between_image,
.between_image img {
    height: 300px;
}

/* トップページ　VOICE */
.voice_content_woman,
.voice_content_man {
    padding: 0px 30px;
}

.voice_btn {
    margin-top: 40px;
}

/* トップページ　お問い合わせ */
.contact_link {
    height: 300px;
}

.contact_link img {
    height: 300px;
}

.contact_title {
    font-size: 22px;
    margin-bottom: 30px;
}

.contact_link p:nth-child(n+2) {
    font-size: 15px;
}

.contact_btn>.btn {
    margin-top: 30px;
}
/* 上記トップページ */


/* SERVICEページ */
/* SERVICEページ　SERVICE */
.item_text {
    font-size: 15px;
}

.service_collect,
.service_gift {
    max-width: 350px;
    height: 400px;
}

.price_secondary_title {
    max-width: 350px;
}

.price_secondary_title h3 {
    font-size: 24px;
}

.service_collect p,
.service_gift p {
    font-size: 16px;
}

.service_collect img,
.service_gift img {
    left: calc(100% * 0.55);
    top: 0px;
}

/* SERVICEページ 料金詳細 */
.price_group {
    display: flex;
    flex-flow: column;
    gap: 0px;
}

.price_group .price_secondary_title {
    max-width: 100%;
}

.price_addition,
.price_campaign,
.price_pay,
.price_delivery {
    max-width: 100%;
}

.price_addition {
    height: 350px;
}

.price_campaign {
    height: 800px;
    margin-bottom: 50px;
}

.price_pay {
    height: 200px;
}

.price_delivery {
    height: 400px;
}

.tb_none,
.tb-sp_none {
    display: none;
}

.price_addition .price_text img {
    top: -90px;
    left: calc(100% * 0.75);
}

.price_campaign .price_text img {
    top: -680px;
    left: calc(100% * 0.75);
}

.price_pay .price_text img {
    left: calc(100% * 0.75);
}

.price_delivery .price_text img {
    top: -170px;
    left: calc(100% * 0.8);
}
}


/* -----モバイル版----- */
@media screen and (max-width:767px) {
/* 画面サイズが767px以下の場合に適用 */
/* -----共通部分----- */
h1 {
    font-size: 40px;
}

h2 {
    font-size: 20px;
}

h3 {
    font-size: 20px;
}

/* ヘッダー */
header {
    margin: 0px 35px;
    height: 110px;
}

/* ハンバーガーメニュー */
.nav_toggle,
.nav_toggle.show {
    right: 35px;
}

/* フッター */
footer {
    margin-top: 100px;
    padding: 40px 35px 0px;
    display: flex;
    flex-flow: column;
    align-items: center;
    height: auto;
}

.business_title p {
    font-size: 20px;
    margin-bottom: 30px;
}

.business_info {
    display: flex;
    flex-flow: column;
    align-items: center;
}

.info_img img {
    width: 90px;
    height: 90px;
}

.info_img p {
    font-size: 14px;
    margin-top: 10px;
}

.info_text {
    display: flex;
    flex-flow: column;
    align-items: center;
    margin-top: 40px;
}

.info_text p {
    font-size: 14px;
    margin-bottom: 25px;
}

/* トップページ */
/* ファーストビュー */
.firstview {
    margin-bottom: 100px;
}

.catchcopy {
    margin: 47vh 35px 0px;
}

.copymain {
    font-size: 28px;
}

.copysub {
    font-size: 12px;
    ;
}

.message {
    justify-content: center;
    padding-left: 35px;
    padding-right: 35px;
}

.m_text {
    font-size: 15px;
    width: 100%;
    margin-top: 50px;
    margin-right: 0px;
}

/* コンテンツ幅 */
.home_service,
.home_voice,
.home_faq {
    margin: 0px 35px 100px;
}

/* タイトル下　余白 */
.service_title,
.flow_title,
.price_title,
.voice_title,
.faq_title {
    margin-bottom: 30px;
}

/* トップページ　SERVICE */
.small_title {
    font-size: 12px;
}

.wrap_title {
    margin-bottom: 15px;
}

.inner {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 0px
}

.item {
    max-width: 500px;
    /* aspect-ratio: 5 / 3; */
    margin-bottom: 40px;
}

.inner div:nth-child(2) {
    margin-bottom: 0px;
}

.item img {
    max-width: 500px;
    max-height: 300px;
}

.h_service_item_title {
    font-size: 16px;
}

.another_inner {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 0px;
    margin-bottom: 30px;
}

.home_collect,
.home_gift {
    max-width: 500px;
    max-height: 300px;
}

.home_collect {
    margin-bottom: 40px;
}

.home_gift {
    margin-bottom: 0px;
}

.home_collect p,
.home_gift p {
    top: 90px;
    line-height: 1.5;
}

.btn {
    width: 180px;
    height: 40px;
    border-radius: 20px;
    font-size: 13px;
}

/* トップページ　背景 半円 */
.copy_circle {
    height: 100px;
}

/* トップページ　FLOW */
.home_flow {
    padding: 0px 35px 100px;
}

.flow_block {
    height: 130px;
}

.flow_block img {
    width: 60px;
    margin: 0px 50px 0px auto;
    order: 1;
}

.flow_text_group {
    display: flex;
    flex-direction: column;
    margin-left: 50px;
    order: 0;
}

.flow_step_sp {
    width: 80px;
    height: 20px;
    border-radius: 10px;
    background-color: #DFA67B;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.flow_text_sp {
    font-size: 15px;
    font-weight: 600;
}

.flow_step,
.flow_text {
    display: none;
}

/* トップページ　PRICE */
.home_price {
    padding: 0px 35px 100px;
}

.price_content_title {
    margin-bottom: 15px;
}

.price_wrap {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 15px;
    gap: 0px;
}

.basic_price_block,
.visit_price_block {
    width: 100%;
    max-width: 500px;
    height: 250px;
    margin-bottom: 30px;
}

.price_wrap div:nth-child(4) {
    margin-bottom: 0px;
}

.basic_price_block img {
    width: 60px;
    margin: 30px 0px 50px;
}

.price_content {
    font-size: 20px;
}

.price_content_text {
    font-size: 14px;
}

.price_note {
    font-size: 13px;
}

.visit_price {
    margin-bottom: 30px;
}

.area_title {
    font-size: 12px;
}

.area_price {
    font-size: 24px;
    margin-bottom: 30px;
}

.area {
    font-size: 14px;
    line-height: 1;
}

/* 中間画像 */
.between_image,
.between_image img {
    height: 200px;
}

/* トップページ　VOICE */
.voice_content_woman,
.voice_content_man {
    height: 350px;
    flex-flow: column;
}

.voice_icon {
    margin-top: 30px;
    margin-bottom: 20px;
}

.voice_content_woman>p,
.voice_content_man>p {
    font-size: 14px;
    margin-left: 0px;
}

.voice_btn {
    margin-top: 30px;
}

/* トップページ　FAQ */
.question {
    margin-bottom: 20px;
}

.question p,
.answer p {
    font-size: 14px;
}

/* トップページ　お問い合わせ */
.contact_link {
    height: 240px;
}

.contact_link img {
    height: 240px;
}

.contact_title {
    font-size: 18px;
}

.contact_link p:nth-child(n+2) {
    font-size: 13px;
}

.contact_btn>.btn {
    margin-top: 20px;
}

/* 上記トップページ */


/* SERVICEページ */
/* SERVICEページ　SERVICE */
.page_service {
    margin: 100px 35px;
}

.service_item_title {
    font-size: 18px;
    margin: 10px 0px 10px;
}

.service_collect {
    max-width: 500px;
    height: 300px;
    margin-bottom: 40px;
}

.service_gift {
    max-width: 500px;
    height: 250px;
}

.price_secondary_title {
    max-width: 500px;
    height: 50px;
}

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

.service_collect p,
.service_gift p {
    font-size: 15px;
    padding: 15px 25px 0px;
}

.service_collect img,
.service_gift img {
    width: 100px;
    height: 100px;
    left: calc(100% * 0.65);
    top: 0px;
}

/* SERVICEページ　PRICE */
.page_price {
    margin: 0px 35px 100px;
}

.price_primary_title {
    margin-bottom: 15px;
}

/* SERVICEページ 料金詳細 */
.price_addition {
    height: 390px;
    margin-bottom: 40px;
}

.price_campaign {
    height: 200%;
    margin-bottom: 40px;
}

.price_pay {
    height: 180px;
}

.price_delivery {
    height: 430px;
}

.price_text {
    margin: 15px 25px 0px 25px;
    position: relative;
}

.price_text p {
    font-size: 15px;
}

.tb_none {
    display: block;
}

.price_addition .price_text p:nth-child(5) {
    margin-bottom: 30px;
}

.price_addition .price_text img {
    top: 210px;
    left: calc(100% * 0.65);
    position: absolute;
}

.campaign_guidance {
    margin-top: 30px;
    margin-bottom: 70px;
}

.text_inner {
    margin-bottom: 50px;
}

.text_wrap {
    margin-right: 0px;
    margin-bottom: 30px;
}

.price_campaign .price_text img {
    top: 0px;
    left: calc(100% * 0.65);
    position: absolute;
}

.price_pay .price_text img {
    top: -25px;
    left: calc(100% * 0.65);
    position: absolute;
}

.price_delivery p:nth-child(2) {
    margin-bottom: 30px;
}

.price_delivery .price_text img {
    top: 0px;
    left: calc(100% * 0.65);
}

/* VOICEページ */
.page_voice {
    margin: 100px 35px;
}
}

/* 画面サイズが400px以下の場合に適用 */
@media screen and (max-width:430px) {
/* フッター */
.none_400 {
    display: none;
}

.display_400 {
    display: block;
}

.info_text p {
    margin-bottom: 0px;
}

.info_text p:nth-child(4),
.info_text p:nth-child(5) {
    margin-bottom: 25px;
}
}

/* 画面サイズが400px以下の場合に適用 */
@media screen and (max-width:400px) {

/* トップページ　SERVICE */
.home_collect h3,
.home_gift h3 {
    top: 25px;
}

.home_collect p,
.home_gift p {
    top: 75px;
}

/* トップページ　VOICE */
.voice_content_woman,
.voice_content_man {
    height: 380px;
}

/* トップページ　お問い合わせ */
.contact_btn>.btn {
    width: 250px;    
}

/* SERVICEページ　SERVICE */
.service_collect {
    height: 320px;
}

.service_collect img {
    left: calc(100% * 0.6);
    top: -20px;
}

.service_gift img {
    left: calc(100% * 0.6);
    top: -20px;
}

.price_addition .price_text img,
.price_campaign .price_text img,
.price_pay .price_text img,
.price_delivery .price_text img {
    left: calc(100% * 0.6);
}
}