@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

*/

/* Style */
body{
    --ff-mincho: "Kaisei Opti", "游明朝", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
}
input[type='file']{
    color: rgb(31, 41, 55);
    cursor: pointer;
    border: 1px solid rgb(191, 194, 199);
    border-radius: 0.375rem;
    padding-right: 0.5rem;
    width: 24rem;
    -webkit-appearance: none;
}
::file-selector-button,
::-webkit-file-upload-button{
    background-color: rgb(209, 213, 219);
    color: rgb(31, 41, 55);
    border: none;
    cursor: pointer;
    border-right: 1px solid rgb(191, 194, 199);
    padding: 0.25rem 1rem;
    margin-right: 1rem;
    font: inherit;
}

/* Common */
.--d-ib{ display: inline-block !important; }
.--ff-mincho{ font-family: var(--ff-mincho) }
.--bold{ font-weight: 700; }
.--medium{ font-weight: 500; }
/* PC */
@media (min-width: 801px){
	.--tab{ display: none !important; }
	.--sp{ display: none !important; }
	.--tab-sp{ display: none !important; }
}
/* TAB */
@media screen and (max-width: 800px) and (min-width: 481px) {
	.--pc{ display: none !important; }
	.--sp{ display: none !important; }
	.--pc-sp{ display: none !important; }
}
/* SP */
@media screen and (max-width: 480px) {
	.--pc{ display: none !important; }
	.--tab{ display: none !important; }
	.--pc-tab{ display: none !important; }
}

/* Blocks */
.post_content .is-style-section_ttl::before{
    content: "";
    display: block;
    width: 100%;
    height: 100px;
    margin-top: -100px;
}
.post_content .is-style-check_list li:after{
    content: "";
    position: absolute;
    top: .5em;
    left: 0;
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    border: 1px solid #bbb;
    z-index: -1;
}
@media screen and (max-width: 599px) {
    .post_content .is-style-check_list li:after{
        top: .4em;
    }
}

/* Google ReCAPTCHA */
.grecaptcha-badge{
    z-index: 999 !important;
}

/* Contact Form 7 */
.wpcf7-form .wpcf7-list-item{
    margin: 0;
}
.wpcf7-form .wpcf7-list-item input[type="radio"],
.wpcf7-form .wpcf7-list-item input[type="checkbox"]{
    display: none !important;
}
.wpcf7-form .wpcf7-list-item input[type="radio"] + .wpcf7-list-item-label,
.wpcf7-form .wpcf7-list-item input[type="checkbox"] + .wpcf7-list-item-label{
    position: relative;
    padding-left: 30px;
}
.wpcf7-form .wpcf7-list-item input[type="radio"] + .wpcf7-list-item-label::before,
.wpcf7-form .wpcf7-list-item input[type="radio"] + .wpcf7-list-item-label::after,
.wpcf7-form .wpcf7-list-item input[type="checkbox"] + .wpcf7-list-item-label::before,
.wpcf7-form .wpcf7-list-item input[type="checkbox"] + .wpcf7-list-item-label::after{
    content: "";
    position: absolute;
    display: block;
}
.wpcf7-form .wpcf7-list-item input[type="radio"] + .wpcf7-list-item-label::before,
.wpcf7-form .wpcf7-list-item input[type="checkbox"] + .wpcf7-list-item-label::before{
    top: 5px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid;
}
.wpcf7-form .wpcf7-list-item input[type="radio"] + .wpcf7-list-item-label::before{
    border-radius: 50%;
}
.wpcf7-form .wpcf7-list-item input[type="radio"]:checked + .wpcf7-list-item-label::after{
    top: 10px;
    left: 5px;
    width: 10px;
    height: 10px;
    background: #000;
    border-radius: 50%;
}
.wpcf7-form .wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
    top: 6px;
    left: 6px;
    width: 8px;
    height: 13px;
    border-bottom: 2px solid;
    border-right: 2px solid;
    transform: rotate(47deg);
}
.wpcf7-form .wpcf7-list-item label{
    display: flex;
    align-items: center;
    gap: 0 10px;
}

/* ヘッダー */
.c-headLogo.-txt{
    font-family: var(--ff-mincho);
}

/* メニュー */
#sp_menu .c-widget__title.-spmenu{
    font-family: var(--ff-mincho);
}

/* フッター */
.c-widget.widget_text .c-widget__title.-footer{
    font-family: var(--ff-mincho);
}
#footer .simcal-default-calendar-list{
    padding-top: 0;
}
#footer .simcal-default-calendar-list dt.simcal-day-label:first-child{
    margin-top: 0;
}

/* トップページ */
.p-mainVisual__textLayer{
    max-width: 1000px;
}
.p-mainVisual__slideTitle{
    font-size: 6vw;
}
.p-mainVisual__slideText{
    font-size: 3.7vw;
}
/* PC */
@media screen and (min-width: 600px) {
    .p-mainVisual__slideTitle{
        font-size: 30px;
    }
    .p-mainVisual__slideText{
        font-size: 18px;
    }
}

/* 下層ページ */
.c-pageTitle__subTitle{
    font-family: var(--ff-mincho);
    font-style: normal;
}

/* Works */
#body_wrap.page-works .post_content .wp-block-heading + .c-scrollHint{
    margin-top: -1em;
}
/* PC */
@media screen and (min-width: 801px) {
    #body_wrap.page-works .post_content .c-scrollHint{
        display: none;
    }
}

/* Contact */
#main_content .wpcf7-form .cntItem{
    display: grid;
    grid-template-columns: 200px 1fr;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #ddd;
}
#main_content .wpcf7-form .cntItem .title{
    display: block;
    padding-top: 8px;
    font-weight: 600;
}
#main_content .wpcf7-form .cntItem .title.required::after{
    content: "必須";
    display: inline-block;
    margin-left: 7px;
    padding: 3px 5px 4px;
    background: #e74040;
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    vertical-align: 1px;
}
#main_content .wpcf7-form .cntItem .container + .container{
    margin-top: 10px;
}
#main_content .wpcf7-form .cntItem .text{
    font-size: 14px;
}
#main_content .wpcf7-form .cntBtns{
    position: relative;
}
#main_content .wpcf7-form .cntBtns .wpcf7-spinner{
    position: absolute;
    top: 0;
    right: 0;
}
#main_content .wpcf7-form .wpcf7-form-control .wpcf7-list-item label{
    cursor: pointer;
}
#main_content .wpcf7-form input,
#main_content .wpcf7-form textarea{
    display: block;
    width: 100%;
    padding: 8px 15px;
    background: #f5f5f5;
    border: 2px solid #f5f5f5;
    border-radius: 3px;
    outline: none;
    transition: border .3s;
    font: inherit;
}
#main_content .wpcf7-form input:focus,
#main_content .wpcf7-form textarea:focus{
    border-color: #ddd;
}
#main_content .wpcf7-form textarea{
    height: 200px;
}
#main_content .wpcf7-form .wpcf7-submit{
    display: block;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 12px;
    background: var(--color_main);
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 2px;
    text-align: center;
}
#main_content .wpcf7-form .wpcf7-response-output{
    text-align: center;
}

#_form-name .wpcf7-list-item{
    margin: 0 20px 0 0;
}
#_form-privacy{
    margin: 40px 0 50px;
}
#_form-privacy .title{
    margin-bottom: 10px;
    padding-top: 0;
}
#_form-privacy .inputs{
    text-align: center;
}
#_form-privacy .wpcf7-list-item label{
    white-space: nowrap;
}
/* TAB */
@media screen and (max-width: 800px) {
    #main_content .wpcf7-form .cntItem{
        grid-template-columns: 1fr;
        gap: 10px;
    }
}