@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
/* WEBフォントインポート  */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap');
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&display=swap');

body {
    font-family: "BIZ UDPGothic", 'Noto Sans JP' !important;
    letter-spacing: 0.1em !important;
}

/*-------------------------------------------
            基本設定
-------------------------------------------*/
.l-content {
    margin: 0 auto;
    padding-top: 0;
}

.post_content>* {
    margin-bottom: 0;
}

.center {
    text-align: center !important;
}

.top #content {
    padding-top: 0 !important;
}

/*  スマホのときだけ改行 */
.spon {
    display: none;
}

@media(max-width:599px) {
    .spon {
        display: block;
    }
}

@media(min-width: 600px) {

    .u-fz-14 {
        font-size: 25px;
    }
}

.none-border {
    border: none !important;
}

.mincho {
    font-family: "noto serif JP";
}

.bossn {
    font-family: "ab-shinyubipenjigyosyotai", sans-serif;
}


/*-------------左寄せ----------------------*/
.m-left {
    text-align: left !important;
    font-size: 1.5em !important;
}

@media(min-wdith: 768px) {
    .m-left {
        font-size: 2em !important;
    }
}

/*---------row-reverse--------------*/
.row-reverse {
    flex-direction: row-reverse !important;
}

/*--swellボタンをhtml内に設置する際のmargin--*/
.btn-margin {
    margin: 40px auto 10px;
}

/*------padding-top----------------------*/
.padding-top {
    padding-top: 5em;
}

/*------------ボタンキラリの設定----------*/
.is-style-btn_shiny a {
    color: #FFF !important;
    font-family: 'Noto Sans Japanese';
}

/*-----------ボタン------------*/
.green_ a:hover {
    color: #000 !important;
}

.btn-left {
    text-align: left;
}

@media(max-width: 767px) {
    .btn-left {
        text-align: center;
    }
}

/*------------pのlineheight調整-------------*/
.line-height_25 {
    line-height: 2.5;
}

@media(max-width: 767px) {
    .line-height_25 {
        line-height: 1.8;
    }

    .has-medium-font-size {
        font-size: 15pxf !important;
    }
}

/*-------------------------------------------
        メニューの文字の大きさ
--------------------------------------------*/
@media(min-width: 1280px) {
    .c-gnav>.menu-item>a .ttl {
        display: block;
        font-size: 1.05rem;
    }
}

.swell-block-fullWide+.swell-block-fullWide {
    margin: 0;
}

/*-------------------------------------------
            slider下波々
-------------------------------------------*/
.slider-bottom {
    width: 100%;
    height: 22px;
    z-index: 99999;
    position: absolute;
    bottom: 0px;
    background: url(http://hamaji-aki.jp/wp-content/uploads/2025/06/haikei_01.png) no-repeat;
    background-size: 170%;
}

@media(min-width: 901px) {
    .slider-bottom {
        width: 100%;
        height: 41px;
        z-index: 99999;
        background-size: cover;
    }
}

.u-wave {
    margin-top: -1em !important;
}

/*-------------------------------------------
           スタッフセクション
-------------------------------------------*/

.top-stuff {
    background-image: url(/wp-content/uploads/2019/07/kampo_02.png), url(/wp-content/uploads/2019/07/kampo_01.png);
    background-repeat: no-repeat;
    background-position: 100% 85%, 0 30%;
    background-size: 55%, 55%;
}

@media(min-width: 768px) {
    .top-stuff {
        position: relative;
        background: url(/wp-content/uploads/2019/07/haikei_03.png), url(/wp-content/uploads/2019/07/kampo_02.png), url(/wp-content/uploads/2019/07/kampo_01.png);
        background-repeat: no-repeat;
        background-position: 50% 36%, 100% 100%, 0 15%;
        background-size: 102%, auto, auto, ;
    }

}

.cdrFlex {
    padding: 80px 0;
}

/*-------------------------------------------
          footer
-------------------------------------------*/

.l-footer {
    background-color: #918f31;
}

.w-beforeFooter {
    margin: 0 auto;
    padding: 6em 0 3em;
    background-color: #918f31;
}

/*-------------------------------------------
          fotterの草
-------------------------------------------*/
@media (min-width: 768px) {
    .kusawrap {
        background: url(https://hamaji-aki.jp/wp-content/uploads/2025/06/footer_grass.png);
        background-repeat: repeat-x;
        padding: 70px 0;
        background-size: 24%;
        background-position: 0 100%;
    }
}

@media (max-width: 767px) {
    .kusawrap {
        background: url(https://hamaji-aki.jp/wp-content/uploads/2025/06/footer_grass.png);
        background-repeat: repeat-x;
        padding: 60px 0;
        background-size: 100%;
        background-position: 0 101%;
    }
}

/*-------------------------------------------
            固定ページヘッダー
-------------------------------------------*/

.c-pageTitle {
    font-size: 3em;
    font-weight: 400;
    text-align: center;
}

@media (min-width: 600px) {
    .l-topTitleArea {
        min-height: 300px;
    }

    .c-pageTitle {
        font-size: 3em;
        letter-spacing: 0.2em;
        font-weight: 300;
        text-align: left;
    }
}

/*-------------------------------------------
            MVのテキスト
-------------------------------------------*/
.t-mainVisual_box {
    position: absolute;
    top: 35%;
    right: 5%;
    max-width: 800px;
    z-index: 10000;
}

.mv-inner_box {
    position: relative;
    padding: 5rem 6rem;
    background: rgba(255, 255, 255, .1);
    border: 1px solid #FFF;
}

.mv-inner_box:before {
    position: absolute;
    top: -3%;
    left: 2%;
    width: 96%;
    height: 106%;
    content: '';
    border: 1px solid #FFF;
}

.mv-inner_box h2 {
    font-size: 3em;
    position: relative;
    color: #FFF;
    font-weight: 400;
}

.mv-inner_box h2:after {
    position: absolute;
    top: 95%;
    left: 0;
    width: 100%;
    content: "";
    border: 1px solid #FFF;
}

.mv-inner_box p {
    font-size: 2em;
    color: #FFF;
}

@media(max-width: 799px) {
    .t-mainvisual_box {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
}

@media(max-width: 768px) {
    .mv-inner_box h2 {
        font-size: 1.9em;
    }

    .mv-inner_box p {
        font-size: 1.3em;
    }

    .mv-inner_box {
        padding: 2rem 3rem;
    }
}

/*-------------------------------------------
        FAQのQの背景
--------------------------------------------*/
.faq_q {
    background: #d9b9b9;
}

/*-------------------------------------------
        table黒線消す
--------------------------------------------*/
.wp-block-table td,
.wp-block-table th {
    border: 1px solid #ededed;
}

/*-------------------------------------------
        big step
--------------------------------------------*/

.is-style-big>.swell-block-step__item:first-child,
.is-style-big>.swell-block-step__item {
    border: 3px dashed #57a19f;
    border-radius: 10px;
}

.is-style-big>.swell-block-step__item {
    margin-top: 25px;
}

.is-style-big>.swell-block-step__item:before {
    border: 30px solid transparent;
    border-top: 29px solid #57a19f;
    display: block;
    height: 0;
    left: 50%;
    top: 100%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
}

.is-style-big>.swell-block-step__item>.swell-block-step__number .__label {
    font-size: 18px;
}

.is-style-big>.swell-block-step__item>.swell-block-step__number:after {
    font-size: 25px;
    font-weight: 500;
}

/* 問い合わせタブのカスタム*/
@media (min-width: 600px) {

    .arkb-tabList__button,
    .c-tabList__button {
        font-size: 1.5em;
    }
}

/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ*/
.inquiry table,
.inquiry tbody,
.inquiry tr,
.inquiry th,
.inquiry td,
.inquiry td:last-child,
.inquiry th:last-child {
    border: 0;
}

button,
input,
select,
textarea {
    padding: 0.5em 0.75em;
}

.border-bottom {
    border-bottom: 1px solid #eee !important;
}

@media (max-width: 500px) {

    .inquiry th,
    .inquiry td {
        display: block !important;
        width: 100% !important;
        -webkit-box-sizing: border-box !important;
        -moz-box-sizing: border-box !important;
        box-sizing: border-box !important;
    }

    /* 必須・任意のサイズ調整 */
}

.require {
    color: #a40000;
    font-size: 1em;
}

input,
select,
textarea {
    background: #fff;
}

.wpcf7-list-item {
    display: inline-block;
    margin: 0em 2em 0.5em 2em;
}

.wpcf7-list-item .radio2 {
    margin-bottom: 0.5em;
}

.wpcf7-acceptance .wpcf7-list-item {
    margin-left: 0.5em !important;
}

.inquiry-width100 {
    width: 100%;
}

.inquiry tr {
    padding: 1em 0;
}

/*見出し欄*/
.inquiry th {
    text-align: left;
    font-size: 1.1em;
    font-weight: 400 !important;
    color: #444;
    padding: 1em 0.3em 0 1em !important;
    width: 30%;
    background: none !important;
}

.inquiry th:before {
    background: none !important;
}

/*通常欄*/
.inquiry td {
    font-size: 1.1em;
    padding: 1em 0 1em 1em !important;
}

.daythree {
    margin: 1em 0;
}

.daythree span,
.jusho {
    margin: 0.25em;
    display: block;
}

.dayhour {
    padding: 0.25em 0.5em;
    background: var(--color_main);
    color: #fff;
}

.width100 {
    width: 100% !important;
}

.width100 a {
    width: 100% !important;
    padding: 0.42em 0;
}

@media(min-width: 600px) {

    .daythree span,
    .jusho {
        margin: 0.25em;
        display: inline-block;
    }

    .p-postal-code {
        width: 20% !important;
    }
}

@media (min-width: 960px) {
    .width100 a {
        padding: 0.67795138624em 0;
    }
}

@media(min-width: 1285px) {
    .width100 a {
        padding: 0.7em 0;
    }
}

.width100 a:before {
    content: "";
    border-top: 1px solid #19274a;
    position: absolute;
    right: 90%;
    top: 50%;
    width: 20%;
    transition: 0.4s ease;
}

.width100 a:hover::before {
    width: 24%;
    right: 86%;
}

/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item {
    display: block;
}

.wpcf7 input[type="submit"] {
    width: 300px;
    padding: 10px;
    margin-top: 30px;
    margin-left: 35%;
    color: #000;
    -moz-border-radius: 0px;
    border: 1px solid var(--color_main);
    background: #fff;
    position: relative;
}

.wpcf7-submit:hover {
    background: var(--color_main);
    color: #fff;
}

.submitbtm {
    position: relative;
}

.submitbtm:after {
    content: "";
    border-top: 1px solid var(--color_main);
    position: absolute;
    right: 61.5%;
    top: 50%;
    width: 7%;
    transition: 0.4s ease;
}

.submitbtm:hover::after {
    right: 60%;
    width: 7%;
}

@media (max-width: 800px) {
    .wpcf7 input[type="submit"] {
        width: 34%;
        margin-left: 33%;
    }

    .submitbtm:after {
        right: 62%;
    }
}

@media (max-width: 599px) {
    .wpcf7 input[type="submit"] {
        width: 60%;
        margin-left: 20%;
    }

    .submitbtm:after {
        right: 71%;
        width: 20%;
    }

    input,
    select,
    textarea {
        background: #fff;
        max-width: 300px;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
    }

    input .spam1 {
        width: auto !important;
    }

    .inquiry td {
        font-size: 1.1em;
        padding: 0.5em 0 !important;
    }
}

@media (max-width: 391px) {
    .submitbtm:after {
        top: 30%;
    }
}

/*-------------------------------------------
           contact 個人情報保護
-------------------------------------------*/
.personalinfo {
    margin: 2em auto;
}

.personal-head {
    padding: 0.5em 0;
    background: var(--color_main);
    text-align: center;
    color: #fff;
    font-size: 1.5em;
}

.personalinfo-inner {
    height: 250px;
    overflow-y: scroll;
    border: 1px solid #ccc;
    padding: 1em 2em;
    background: #fff;
}

.personalinfo-inner dl {
    display: flex;
    justify-content: flex-start;
    padding: 0.75em 0 0;
    border-bottom: 1px solid #eee;
}

.personalinfo-inner dt {
    font-size: 1.1em;
    font-weight: 400;
    padding-right: 2em;
}

.personalinfo-inner dd {
    font-size: 1em;
}