@charset "utf-8";
/*
Theme Name: obamadekuraso2026
Author: SYSTEMRUN
Author URI: https://systemrun.co.jp/
*/

/* break point */
/* ---------------------
  (max-width) 1500, 991, 767, 575
  (min-width) 1501, 992, 768, 576
--------------------- */

/*========================================
  *reset
========================================*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, input, select, button, textarea, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	color: inherit;
	line-height: inherit;
	font-size: 100%;
	vertical-align: baseline;
	word-break: break-all;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, small, main {
	display: block;
}
html {
	font-size: 62.5%;
}
body {
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
}
ul {
	list-style: none;
}
q {
	quotes: none;
}
q::before, q::after {
	content: '';
	content: none;
}
strong, b {
	font-weight: bold;
}
i, em {
	font-style: italic;
}
del {
	text-decoration: line-through;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
span, a, ruby {
	font-size: 100%;
}
a, a:hover {
	text-decoration: none;
}
*, *::before, *::after {
	box-sizing: border-box;
}
a, a:focus, *:focus {
	outline: none;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	cursor: pointer;
}
select::-ms-expand {
    display: none;
}
/*100vh指定時のiOSアドレスバー対応*/
html{
    height: -webkit-fill-available;
}

/*========================================
  *base
========================================*/
:root {
    --color-blue: #105aa5;
    --color-brown: #817248;
    --color-pink: #dd4565;
    
    --cat-dicovere: #ef5e96;
    --cat-live: #f17e20;
    --cat-work: #1fb52a;
    
    --text-link: #0951ab;
}
body {
    font-family: "Arial", "Noto Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;
    line-height: 1.7;
    color: #000;
}
a {
	color: inherit;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
}
/*▼ iOSでのデフォルトスタイルをリセット*/
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]:focus,
input[type="button"]:focus {
	outline-offset: -2px;
}
::placeholder {
	color: #929292;
}
::-ms-input-placeholder { /*旧Edge対応*/
	color: #929292;
}
:-ms-input-placeholder { /*IE対応*/
	color: #929292;
}
@media screen and (min-width: 992px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/*フォーム*/
input[type="checkbox"] {
    margin-right: 5px;
}
input[type="text"] {
    padding: .2em;
}

/*========================================
  *general
========================================*/
/*コンテナ*/
.container {
	max-width: 1160px;
	width: 90%;
	margin: auto;
}
:is(.template_page, .template_single) main .container {
    max-width: 1024px;
}

/*フォント*/
.zen-maru-gothic-bold {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
}

/*ボタン*/
:is(a, button)[class*="button_color"] {
    color: #fff;
    display: inline-block;
    border-radius: 9999px;
    text-align: center;
    padding: .7em 1.7em .5em;
    font-weight: bold;
    transition: all .2s;
}
:is(a, button).button_color--blue {
    background: var(--color-blue);
}
:is(a, button).button_color--pink {
    background: var(--color-pink);
}
:is(a, button).button_color--brown {
    background: var(--color-brown);
}
:is(a, button).button_color--white {
    background: #fff;
    color: inherit;
}
:is(a, button).button_color--border {
    background: none;
    border: 2px solid #333;
    color: inherit;
}
:is(a, button).button_color--transp {
    color: inherit;
}
@media (hover: hover) and (min-width: 992px) {
    :is(a, button)[class*="button_color"]:hover {
        background: #333;
        color: #fff;
        transform: scale(1.03, 1.03);
        box-shadow: 0 10px 10px rgb(0 0 0 / 10%);
    }
}

/*リンク矢印*/
[class*="link_arrow"]::after {
    content: "";
    background: no-repeat 0 0 / contain;
    width: 20px;
    aspect-ratio: 1 / 1;
    display: inline-block;
    vertical-align: -4px;
    margin-left: 10px;
}
.link_arrow--black::after {
    background-image: url(images/ico_circle-arrow.png);
}
.link_arrow--white::after {
    background-image: url(images/ico_circle-arrow_white.png);
}
@media (hover: hover) and (min-width: 992px) {
    .link_arrow--black.button_color--border:hover::after,
    .link_arrow--black.button_color--transp:hover::after {
        background-image: url(images/ico_circle-arrow_white.png);
    }
}

/*画像リンクホバー*/
img.hover {
    transition: all .2s;
}
@media (hover: hover) and (min-width: 992px) {
    a:hover img.hover {
        transform: scale(1.03, 1.03);
        box-shadow: 0 10px 10px rgb(0 0 0 / 10%);
    }
}

/*背景*/
.bg--blue {
    background: url(images/bg_texture_blue.jpg) no-repeat center center / cover;
}
.bg--pink {
    background: url(images/bg_texture_pink.jpg) no-repeat center center / cover;
}
.bg--wave {
    position: relative;
}
.bg--wave::before {
    content: "";
    background: url(images/bg_wave.png) no-repeat center top / cover;
    width: 100%;
    aspect-ratio: 19 / 1;
    position: absolute;
    top: 0;
    left: 0;
}
@media screen and (max-width: 991px) {
    .bg--wave::before {
        aspect-ratio: 10 / 1;
        background-size: 100% 100%;
    }
}

/*新着情報*/
.news_post a {
    display: flex;
    align-items: flex-start;
    padding: 10px;
    transition: all .1s;
}
.news_post_date {
    font-size: 1.5em;
    width: 8em;
    color: #333;
    margin-top: 2px;
}
.news_post_cat {
    background: #ccc;
    color: #fff;
    font-size: 1.5em;
    font-weight: bold;
    padding: 0 10px;
    border-radius: 5px;
    margin-top: 2px;
}
.cat_event {
    background: #51d0e3;
}
.cat_news {
    background: #ff4456;
}
.cat_akiya {
    background: #ff8042;
}
.cat_update {
    background: #7dbb4c;
}
.news_post_title {
    flex: 1;
    font-size: 1.7em;
    font-weight: 400;
    padding-left: 1em;
}
@media (hover: hover) and (min-width: 992px) {
    .news_post a:hover {
        background: #efefef;
    }
}
@media screen and (max-width: 991px) {
    .news_post a {
        flex-wrap: wrap;
        gap: 10px 10px;
        padding: 8px 0;
    }
    .news_post_date {
        width: auto; 
        margin-top: 0;
    }
    .news_post_title {
        width: 100%;
        flex: auto;
        padding-left: 0;
        margin-top: 0;
    }
}

/*空き家物件情報*/
.akiya_posts {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 20px;
}
.akiya_post {
    width: calc((100% - 60px) / 4);
}
.akiya_post_thumb {
    aspect-ratio: 100 / 70;
    overflow: hidden;
    position: relative;
}
.akiya_post_thumb img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: all .2s;
}
.akiya_post_overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    background: rgb(0 0 0 / 20%);
    transition: all .2s;
    opacity: 0;
    visibility: hidden;
}
.akiya_post_label_type1, .akiya_post_label_type2 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    font-size: 1.6em;
    padding: .1em .5em 0em .7em;
    letter-spacing: .2em;
}
.akiya_post_label_type1 {
    background: #0aa998;
    color: #fff;
}
.akiya_post_label_type2 {
    background: #f16060;
    color: #fff;
}
.akiya_post_title {
    font-size: 1.8em;
    font-weight: bold;
    margin: 10px 5px 3px;
}
.akiya_post_data {
    font-size: 1.5em;
    margin: 0 5px 10px;
}
.akiya_post_cat {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.akiya_post_cat span {
    font-size: 1.5em;
    border: 1px solid #808080;
    border-radius: 9999px;
    padding: 0 .6em;
}
@media (hover: hover) and (min-width: 992px) {
    a:hover .akiya_post_thumb img {
        transform: scale(1.1, 1.1);
    }
    a:hover .akiya_post_overlay {
        opacity: 1;
        visibility: visible;
    }
}
@media screen and (max-width: 991px) {
    .akiya_post {
        width: calc((100% - 40px) / 3);
    }
    .akiya_post_title {
        font-size: 1.7em;
    }
}
@media screen and (max-width: 767px) {
    .akiya_post {
        width: calc((100% - 20px) / 2);
    }
}

/*NEWマーク*/
.newmark {
    font-size: 12px;
    font-weight: bold;
    color: #d90000;
    vertical-align: super;
    margin-left: 3px;
    display: inline-block;
}
@media screen and (max-width: 991px) {
    .newmark {
        font-size: 10px;
    }
}

/*移住者・地域のコト*/
.section_heading {
    text-align: center;
    position: relative;
}
.section_heading_title {
    font-size: 3.5em;
    position: absolute;
    top: -10px;
    width: 100%;
    padding-right: 2.5em;
}
.section_heading_english {
    font-size: 6.0em;
    font-weight: 900;
    color: #edebe5;
}
@media screen and (max-width: 575px) {
    .section_heading_title {
        font-size: 2.5em;
    }
    .section_heading_english {
        font-size: 4.0em;
    }
    .section_heading_title {
        padding-right: 1.5em;
    }
}

/*========================================
  *header
========================================*/
.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 10px;
    padding: 15px 20px;
}
.logo {
    text-align: center;
}
.logo a {
    display: block;
}
.logo span {
    display: block;
    text-align: center;
    font-size: 1.4em;
    font-weight: 400;
    margin-bottom: .8em;
}
.header_logo {
    margin-bottom: 7px;
}
/*グローバルナビ*/
.gnav_wrapper {
    flex: 1;
}
.gnav {
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.gnav_item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 12px 5px;
    gap: 8px;
    border-radius: 10px;
    position: relative;
}
.gnav_item_icon {
    width: 40px;
    aspect-ratio: 1 / 1;
}
.gnav_item--discover .gnav_item_icon {
    background: url(images/ico_gnav_discover.png) no-repeat center center / contain;
}
.gnav_item--live .gnav_item_icon {
    background: url(images/ico_gnav_live.png) no-repeat center center / contain;
}
.gnav_item--work .gnav_item_icon {
    background: url(images/ico_gnav_work.png) no-repeat center center / contain;
}
.gnav_item--support .gnav_item_icon {
    background: url(images/ico_gnav_support.png) no-repeat center center / contain;
}
.gnav_item--interview .gnav_item_icon {
    background: url(images/ico_gnav_interview.png) no-repeat center center / contain;
}
.gnav_item--access .gnav_item_icon {
    background: url(images/ico_gnav_access.png) no-repeat center center / contain;
}
.gnav_item_label {
    font-size: 1.7em;
    text-align: center;
    line-height: 1.3;
}
.header_switches_inner {
    display: flex;
    gap: 20px;
}
.header_switch {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 1.5em;
}
.header_switch dt {
    margin-right: 3px;
}
.header_switch button {
    border: 2px solid #b2b2b2;
    background: #fff;
    border-radius: 9999px;
    height: 35px;
    padding-top: .1em;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.header_switch button.is-active {
    border-color: var(--color-blue);
}
.js_fontsize button {
    width: 3em;
}
.js_bgcolor button {
    width: 35px;
}
button.js_bgcolor_white {
    background: white !important;
    color: black !important;
}
button.js_bgcolor_black {
    background: black !important;
    color: white !important;
}
button.js_bgcolor_blue {
    background: #00008b !important;
    color: yellow !important;
}
.header_buttons a {
    font-size: 1.7em;
    padding: 8px 25px;
    display: block;
}
a.button_bukken::before {
    content: "";
    width: 22px;
    aspect-ratio: 1 / 1;
    background: url(images/ico_house.png) no-repeat center center / contain;
    display: inline-block;
    vertical-align: -4px;
    margin-right: 7px;
}
a.button_contact::before {
    content: "";
    width: 20px;
    aspect-ratio: 1 / 1;
    background: url(images/ico_mail.png) no-repeat center center / contain;
    display: inline-block;
    vertical-align: -4px;
    margin-right: 7px;
}
.pc_header_buttons {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 13px;
}
.header_trigger, .sp_header_buttons, .sp_header_homeback {
    display: none;
}
@media (hover: hover) and (min-width: 992px) {
    .gnav_item a:hover {
        color: #fff;
    }
    .gnav_item--discover a:hover {
        background: #ef5e96;
    }
    .gnav_item--discover a:hover .gnav_item_icon {
        background-image: url(images/ico_gnav_discover_white.png);
    }
    .gnav_item--live a:hover {
        background: #f17e20;
    }
    .gnav_item--live a:hover .gnav_item_icon {
        background-image: url(images/ico_gnav_live_white.png);
    }
    .gnav_item--work a:hover {
        background: #3eb847;
    }
    .gnav_item--work a:hover .gnav_item_icon {
        background-image: url(images/ico_gnav_work_white.png);
    }
    .gnav_item--support a:hover {
        background: #27b4dd;
    }
    .gnav_item--support a:hover .gnav_item_icon {
        background-image: url(images/ico_gnav_support_white.png);
    }
    .gnav_item--interview a:hover {
        background: #9062d4;
    }
    .gnav_item--interview a:hover .gnav_item_icon {
        background-image: url(images/ico_gnav_interview_white.png);
    }
    .gnav_item--access a:hover {
        background: #f94141;
    }
    .gnav_item--access a:hover .gnav_item_icon {
        background-image: url(images/ico_gnav_access_white.png);
    }
}
@media screen and (min-width: 992px) {
    .gnav_item.is-current a {
        color: #fff;
    }
    .gnav_item.is-current a::after {
        content: "";
        width: 20px;
        height: 8px;
        border: 10px solid transparent;
        border-top: 8px solid #000;
        border-bottom: none;
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
    }
    .gnav_item--discover.is-current a {
        background: #ef5e96;
    }
    .gnav_item--discover.is-current a::after {
        border-top-color: #ef5e96;
    }
    .gnav_item--discover.is-current .gnav_item_icon {
        background-image: url(images/ico_gnav_discover_white.png);
    }
    .gnav_item--live.is-current a {
        background: #f17e20;
    }
    .gnav_item--live.is-current a::after {
        border-top-color: #f17e20;
    }
    .gnav_item--live.is-current .gnav_item_icon {
        background-image: url(images/ico_gnav_live_white.png);
    }
    .gnav_item--work.is-current a {
        background: #3eb847;
    }
    .gnav_item--work.is-current a::after {
        border-top-color: #3eb847;
    }
    .gnav_item--work.is-current .gnav_item_icon {
        background-image: url(images/ico_gnav_work_white.png);
    }
    .gnav_item--support.is-current a {
        background: #27b4dd;
    }
    .gnav_item--support.is-current a::after {
        border-top-color: #27b4dd;
    }
    .gnav_item--support.is-current .gnav_item_icon {
        background-image: url(images/ico_gnav_support_white.png);
    }
    .gnav_item--interview.is-current a {
        background: #9062d4;
    }
    .gnav_item--interview.is-current a::after {
        border-top-color: #9062d4;
    }
    .gnav_item--interview.is-current .gnav_item_icon {
        background-image: url(images/ico_gnav_interview_white.png);
    }
    .gnav_item--access.is-current a {
        background: #f94141;
    }
    .gnav_item--access.is-current a::after {
        border-top-color: #f94141;
    }
    .gnav_item--access.is-current .gnav_item_icon {
        background-image: url(images/ico_gnav_access_white.png);
    }
}
@media screen and (min-width: 992px) and (max-width: 1500px) {
    .header {
        flex-wrap: wrap;
        padding: 0 5px 10px 15px;
    }
    .header_logo {
        order: 1;
        margin: 10px 0;
        width: 22em;
    }
    .header_logo span {
        font-size: 1.3em;
    }
    .header_switches {
        order: 2;
        display: flex;
        justify-content: flex-end;
    }
    .header_switches_inner {
        gap: 10px;
    }
    .pc_header_buttons {
        margin: 0 0 0 10px;
    }
    .pc_header_buttons a {
        padding: 8px 20px;
    }
    .gnav_wrapper {
        order: 3;
        flex: auto;
        width: 100%;
    }
    .gnav_item_icon {
        width: 32px;
    }
}
@media screen and (max-width: 991px) {
    .gnav_wrapper, .header_switches, .pc_header_buttons {
        display: none;
    }
    .header {
        height: 100px;
        padding: 5px 5px 5px 15px;
        gap: 5px;
    }
    .header_logo {
        width: auto;
        width: 22em;
        height: 100%;
        display: flex;
        align-items: center;
        position: relative;
        z-index: 9999;
    }
    .header_logo span {
        font-size: 1.3em;
        margin-bottom: .5em;
    }
    .header_trigger {
        display: flex;
        gap: 5px;
        position: relative;
        z-index: 9999;
        margin-top: 5px;
    }
    .header_trigger button {
        background: none;
        width: 5em;
        padding-top: 3em;
        font-size: 13px;
        font-weight: bold;
        text-align: center;
        position: relative;
        cursor: pointer;
    }
    .trigger_setting_icon {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
    }
    .trigger_menu_icon, .trigger_setting_icon {
        background: var(--color-blue);
        width: 50px;
        height: 30px;
        border-radius: 6px;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
    }
    .trigger_setting_icon {
        background: none;
    }
    .trigger_menu_icon span, .trigger_setting_icon span {
        background: #fff;
        width: 25px;
        height: 2px;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        transition: all .4s;
    }
    .trigger_setting_icon span {
        opacity: 0;
    }
    .trigger_menu_icon span:nth-child(1) {
        top: 8px;
    }
    .trigger_menu_icon span:nth-child(2) {
        top: 14px;
    }
    .trigger_menu_icon span:nth-child(3) {
        top: 20px;
    }
    body.js_menu_open .trigger_menu_icon,  body.js_setting_open .trigger_setting_icon {
        background: #333;
    }
    body.js_menu_open {
        height: 100%;
        overflow: hidden;
    }
    body.js_menu_open .trigger_menu_icon span:nth-child(1) {
        transform: translateY(6px) rotate(210deg);
	}
    body.js_menu_open .trigger_menu_icon span:nth-child(2) {
        opacity: 0;
	}
    body.js_menu_open .trigger_menu_icon span:nth-child(3) {
        transform: translateY(-6px) rotate(-210deg);
	}
    body.js_setting_open .trigger_setting_icon span:nth-child(1) {
        opacity: 1;
        top: 8px;
        transform: translateY(6px) rotate(210deg);
    }
    body.js_setting_open .trigger_setting_icon span:nth-child(2) {
        opacity: 1;
        top: 20px;
        transform: translateY(-6px) rotate(-210deg);
    }
    body.js_setting_open .trigger_setting_icon img {
        opacity: 0;
    }
    /*スマホメニュー*/
    .gnav_wrapper {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        background: linear-gradient(0deg, rgb(222 249 255 / 95%), rgb(255 255 255 / 95%) 20%);
        padding-top: 100px;
        z-index: 999;
    }
    .sp_header_scroll {
        height: calc(100vh - 100px);
        overflow-y: scroll;
        padding: 20px 5% 50px;
    }
    .gnav {
        flex-wrap: wrap;
        align-items: stretch;
        gap: 10px;
    }
    .gnav_item {
        width: calc((100% - 10px) / 2);
        display: flex;
    }
    .gnav_item a {
        width: 100%;
        flex-direction: column;
        border: 1px solid #b3b3b3;
        padding: 15px 10px 10px;
    }
    .gnav_item_label {
        font-size: 1.6em;
    }
    .sp_header_buttons {
        display: block;
        text-align: center;
        margin-top: 30px;
    }
    .sp_header_buttons a {
        margin-top: 10px;
        font-size: 1.9em;
        padding: 15px 25px;
    }
    .sp_header_homeback {
        display: block;
        text-align: center;
        margin-top: 50px;
        font-size: 1.7em;
    }
    /*閲覧支援*/
    .header_switches {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        background: linear-gradient(0deg, rgb(222 249 255 / 95%), rgb(255 255 255 / 95%) 20%);
        box-shadow: 0 0 30px rgb(0 0 0 / 20%);
        padding: 120px 5% 50px;
        z-index: 999;
    }
    .header_switches_inner {
        flex-direction: column;
        align-items: center;
    }
    .header_switch {
        gap: 6px;
        font-size: 1.7em;
    }
    .header_switch button {
        height: 45px;
    }
    .js_fontsize button {
        width: 70px;
    }
    .js_bgcolor button {
        width: 45px;
    }
}

/*管理者ログイン中*/
@media screen and (max-width: 991px) {
    body.admin .gnav_wrapper, body.admin .header_switches {
        top: 32px;
    }
}
@media screen and (max-width: 782px) {
    body.admin .gnav_wrapper, body.admin .header_switches {
        top: 46px;
    }
}

/*========================================
  *footer
========================================*/
.footer {
    margin-top: 80px;
    background: url(images/bg_footer_illust.jpg) no-repeat center bottom;
    padding-bottom: 80px;
}
/*お問い合わせ*/
.footer_contact {
    background: url(images/bg_footer_contact.jpg) no-repeat center bottom / cover;
    padding: 7% 0 30px;
}
.footer_contact_inner {
    background: rgb(255 255 255 / 80%);
    border-radius: 30px;
    padding: 30px 3%;
}
.footer_contact_title {
    font-size: 2.5em;
    text-align: center;
    margin-bottom: 20px;
}
.footer_contact_title::before {
    content: "[";
    margin-right: .8em;
    vertical-align: .06em;
}
.footer_contact_title::after {
    content: "]";
    margin-left: .8em;
    vertical-align: .06em;
}
.footer_contact_content {
    font-size: 1.6em;
    text-align: center;
}
.footer_contact_method {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 30px;
}
.footer_contact_method li {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.footer-contact-method_main {
    display: flex;
    align-items: center;
    font-weight: bold;
    gap: 7px;
}
.footer-contact-method_main_label {
    background: var(--color-blue);
    color: #fff;
    font-size: 1.7em;
    border-radius: 9999px;
    width: 4.2em;
    text-align: center;
    padding-top: .2em;
}
.footer-contact-method_main_text {
    flex: 1;
}
li:nth-child(1) .footer-contact-method_main_text {
    font-size: 2.2em;
}
li:nth-child(2) .footer-contact-method_main_text {
    font-size: 3.0em;
    line-height: 1.2;
}
.footer-contact-method_sub {
    font-size: 1.6em;
    margin-top: .3em;
    text-align: center;
}
a.footer-contact-method_button {
    width: 100%;
    display: block;
    font-size: 1.7em;
}
a.footer-contact-method_button::before {
    content: "";
    display: inline-block;
    background: url(images/ico_mail.png) no-repeat 0 0 / contain;
    width: 22px;
    aspect-ratio: 1 / 1;
    vertical-align: -5px;
    margin-right: 10px;
}
@media screen and (max-width: 1200px) {
    .footer-contact-method_main {
        flex-direction: column;
    }
}
@media screen and (max-width: 991px) {
    .footer_contact {
        padding: 14% 0 7%;
    }
    .footer_contact_method {
        flex-direction: column;
        max-width: 300px;
        margin: 30px auto 0;
    }
    .footer-contact-method_main {
        flex-direction: row;
        width: 100%+
    }
}
@media screen and (max-width: 575px) {
    .footer_contact_inner {
        padding: 30px 5%;
    }
    .footer_contact_title {
        font-size: 1.8em;
        margin-bottom: 10px;
    }
    .footer_contact_title::before {
        margin-right: .5em;
        vertical-align: .1em;
    }
    .footer_contact_title::after {
        margin-left: .5em;
        vertical-align: .1em;
    }
    .footer_contact_content {
        font-size: 1.5em;
    }
    .footer-contact-method_main_label {
        font-size: 1.5em;
        padding-top: .1em;
    }
    li:nth-child(1) .footer-contact-method_main_text {
        font-size: 2.0em;
    }
    li:nth-child(2) .footer-contact-method_main_text {
        font-size: 2.6em;
    }
}
/*フッター*/
.footer_body {
    display: flex;
    justify-content: space-between;
    padding: 40px 0;
}
.footer_body_logo {
    width: 25%;
    max-width: 260px;
}
.footer_body_menu {
    width: 65%;
    max-width: 650px;
}
.footer_body_menu ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
}
.footer_body_menu li {
    display: flex;
    flex-wrap: wrap;
    width: calc((100% - 40px) / 3);
    font-size: 1.7em;
    position: relative;
    padding-left: 17px;
}
.footer_body_menu li::before {
    content: "";
    width: 10px;
    aspect-ratio: 1 / 1;
    background: url(images/ico_arrow.png) no-repeat center center / contain;
    position: absolute;
    top: 8px;
    left: 0;
}
.footer_body_menu li a {
    transition: all .2s;
}
.footer_bottom {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
}
.footer_bottom_menu {
    font-size: 1.5em;
}
.footer_bottom_menu ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
}
.footer_bottom_menu a {
    text-decoration: underline;
    text-underline-offset: 5px;
    transition: all .2s;
}
.footer_bottom_copyright {
    font-size: 1.3em;
}
.pagetop {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 555;
    display: block;
    width: 60px;
    aspect-ratio: 1 / 1;
    background: var(--color-brown);
	text-indent: -9999px;
    transition: all .2s;
}
.pagetop::before {
    content: "";
    border-top: 5px solid #fff;
    border-right: 5px solid #fff;
    width: 25px;
    aspect-ratio: 1 / 1;
    transform: rotate(-45deg);
    position: absolute;
    top: 25px;
    right: 17px;
}
@media (hover: hover) and (min-width: 992px) {
    .footer_body_menu a:hover, .footer_bottom_menu a:hover {
        background: #ccc;
    }
    a.pagetop:hover {
        background: #333;
    }
}
@media screen and (max-width: 991px) {
    .footer_body {
        flex-direction: column;
    }
    .footer_body_logo, .footer_body_menu {
        width: 100%;
        max-width: none;
    }
    .footer_body_logo {
        margin-bottom: 40px;
    }
    .footer_body_logo a {
        display: inline-block;
    }
    .footer_body_menu li {
        font-size: 1.6em;
    }
    .footer_bottom {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 20px;
    }
}
@media screen and (max-width: 575px) {
    .footer_body_menu li {
        width: calc((100% - 20px) / 2);
    }
}