@charset "UTF-8";

/* Repeatable Patterns
----------------------------------------------------*/

html {
    font-size: 62.5%;
}

body {
    background: #fdfbe9;
    color: #008275;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    line-height: 1;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0;
}

.body_container{
    overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    margin: 0;
}

ul{
    margin: 0;
}

figure{
    margin: 0;
}

a {
    color: #572A06;
    text-decoration: none;
    transition: 0.3s ease-out
}

a:hover {
    filter: brightness(90%);
}

a img {
    transition: 0.3s ease-out;
}

::-moz-selection {
    background: #fdfbe9;
    color: #008275;
    text-shadow: none;
}

::selection {
    background: #fdfbe9;
    color: #008275;
    text-shadow: none;
}

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

.fadein {
    opacity: 0;
    transition: 1.6s ease-out;
}

.fadein.scrollin {
    opacity: 1;
}

@media print {
    .fadein {
        opacity: 1;
    }
}

.wrapper {
    width: calc(1220 / 1280 * 100%);
    max-width: 1220px;
    margin-left: auto;
    margin-right: auto;
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.display_none {
    display: none;
}

.main_container{
    margin-top: 8.6rem;
    margin-bottom: 12.6rem;
}

.header_logo{
    width: calc(474 / 1220 * 100%);
    margin: 0 auto 7.6rem;
}

.main_visual{
    width: 100%;
    margin-bottom: 6.4rem;
}

.main_title{
    margin-bottom: 11.6rem;
}

.main_date{
    width: 48.8rem;
    margin: 0 auto 8rem;
}

.main_heading{
    width: 57.8rem;
    margin: auto;
}

.main_text{
    width: calc(1000 / 1220 * 100%);
    margin: auto;
}

.link_box{
    width: 50%;
    aspect-ratio: 64 / 30;
    justify-content: center;
    align-items: center;
}

.link_web{
    background: #008275;
}

.link_tel{
    background: #c1ae27;
}

.link_box_icon{
    width: calc(100 / 640 * 100%);
    margin-right: calc(28 / 640 * 100%);
}

.link_web .link_box_text{
    width: calc(355 / 640 * 100%);
}

.link_tel .link_box_text{
    width: calc(335 / 640 * 100%);
}

.map_container{
   position: relative;
}

.map_container::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #008275;
    mix-blend-mode: overlay;
    z-index: 1;
    pointer-events: none;
}

.map_container iframe{
    width: 100%;
    aspect-ratio: 128 / 60;
    filter: grayscale(100%);
}

.footer_inner{
    position: relative;
    padding-top: 7rem;
    padding-bottom: 7rem;
}

.footer_logo{
    display: block;
    width: calc(385 / 1220 * 100%);
    margin: auto;
}

.footer_ig{
    position: absolute;
    top: 50%;
    right: 5%;
    margin: auto;
    width: calc(50 / 1220 * 100%);
    transform: translateY(-50%);
}

/*----------------------------------------------------

PCのみ

----------------------------------------------------*/

@media screen and (min-width: 768px) {
    .display_sp {
        display: none !important;
    }
    
    a[href^="tel:"]{
        pointer-events: none;
    }
    
    img{
        image-rendering: -webkit-optimize-contrast;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
}
/*----------------------------------------------------

スマートフォンのみ

----------------------------------------------------*/


@media screen and (max-width: 767px) {
    .display_pc {
        display: none !important;
    }

    .wrapper {
        width: 100%;
        padding-left: 6%;
        padding-right: 6%;
        margin-left: auto;
        margin-right: auto;
    }

    .display_none {
        display: none;
    }

    .main_container{
        margin-top: 8rem;
        margin-bottom: 8.4rem;
    }

    .header_logo{
        width: calc(300 / 380 * 100%);
        margin: 0 auto 7rem;
    }

    .main_visual{
        width: 100vw;
        margin: 0 calc(50% - 50vw) 6rem;
    }

    .main_title{
        margin-bottom: 8.8rem;
    }

    .main_date{
        width: calc(320 / 380 * 100%);
        margin: 0 auto 5.4rem;
    }

    .main_heading{
        width: 100%;
    }

    .main_text{
        width: 100%;
    }

    .link_box{
        width: 100%;
        aspect-ratio: 480 / 225;
    }

    .link_box_icon{
        width: calc(78 / 480 * 100%);
        margin-right: calc(20 / 480 * 100%);
    }

    .link_web .link_box_text{
        width: calc(266 / 480 * 100%);
    }

    .link_tel .link_box_text{
        width: calc(250 / 480 * 100%);
    }

    .map_container iframe{
        aspect-ratio: 1 / 1;
    }

    .footer_inner{
        padding-top: 13rem;
        padding-bottom: 5rem;
    }

    .footer_logo{
        width: calc(300 / 380 * 100%);
    }

    .footer_ig{
        top: 4.8rem;
        left: 0;
        right: 0;
        width: 5rem;
        transform: none;
    }
}


@media screen and (max-width: 320px)  {
    html {
        font-size: 56%;
    }

}
