@charset "UTF-8";

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

*{
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
html {
	font-size: 62.5%;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

/*-------------------------
  共通設定
-------------------------*/
img{
    border: none;
    vertical-align: bottom;
    max-width: 100%;
    image-rendering: -webkit-optimize-contrast;
}
.clear{
    clear: both;
    display: block;
}

.center{
    text-align: center;
}
.normal{
    font-weight: normal;
}
.bold{
    font-weight: bold;
}
.mb5{
    margin-bottom: 5px;
}
.mb10{
    margin-bottom: 10px;
}
.mb15{
    margin-bottom: 15px;
}
.mb20{
    margin-bottom: 20px;
}
.mb25{
    margin-bottom: 25px;
}
.mb30{
    margin-bottom: 30px;
}
.mb35{
    margin-bottom: 35px;
}
.mb40{
    margin-bottom: 40px;
}
.mb45{
    margin-bottom: 45px;
}
.mb50{
    margin-bottom: 50px;
}
.mt5{
    margin-top: 5px;
}
.mt10{
    margin-top: 10px;
}
.mt15{
    margin-top: 15px;
}
.mt20{
    margin-top: 20px;
}
.mt25{
    margin-top: 25px;
}
.mt30{
    margin-top: 30px;
}
.mt35{
    margin-top: 35px;
}
.mt40{
    margin-top: 40px;
}
.mt45{
    margin-top: 45px;
}
.mt50{
    margin-top: 50px;
}
.ml5{
    margin-left: 5px;
}
.ml10{
    margin-left: 10px;
}
.ml15{
    margin-left: 15px;
}
.ml20{
    margin-left: 20px;
}
.ml25{
    margin-left: 25px;
}
.ml30{
    margin-left: 30px;
}
.ml35{
    margin-left: 35px;
}
.ml40{
    margin-left: 40px;
}
.ml45{
    margin-left: 45px;
}
.ml50{
    margin-left: 50px;
}
.mr5{
    margin-right: 5px;
}
.mr10{
    margin-right: 10px;
}
.mr15{
    margin-right: 15px;
}
.mr20{
    margin-right: 20px;
}
.mr25{
    margin-right: 25px;
}
.mr30{
    margin-right: 30px;
}
.mr35{
    margin-right: 35px;
}
.mr40{
    margin-right: 40px;
}
.mr45{
    margin-right: 45px;
}
.mr50{
    margin-right: 50px;
}
.caution{
    color: #F00;
}
.black01{
    color: #000;
}
.orange01{
    color: #F90;
}
.orange02{
    color: #F60;
}
.gray01{
    color: #CCC;
}
.gray02{
    color: #999;
}
.gray03{
    color: #666;
}
.gray04{
    color: #333;
}
.red01{
    color: #FF0004;
}

.show_sp{
    display: none !important;
}
.show_sp02{
    display: none !important;
}



/*-------------------------
  リンク設定
-------------------------*/
a:link,
a:visited {
    color: #000;
    text-decoration: none;
}
a:hover,
a:active {
    color: #000;
    text-decoration: none;
}
a.hover:hover img {
    filter: alpha(opacity=80);
    -moz-opacity: 0.80;
    opacity: 0.80;
}


/*-------------------------
  段落設定
-------------------------*/
h1{
    margin: 0;
    padding: 0;
}
h2{
    margin: 0;
    padding: 0;
}
h3{
    margin: 0;
    padding: 0;
}

/*-------------------------
  section
-------------------------*/
section{
    margin: 0;
    padding: 0;
}

article{
    margin: 0;
    padding: 0;
}

/*-------------------------
  body設定
-------------------------*/
body{
    font-size: 1.6rem;
    line-height: 1.7;
    color: #333;
    background-color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    overflow-x: hidden;
}

a {
    transition: all .3s;
}


/*-------------------------
  header
-------------------------*/
header{
    margin: 0;
    padding: 0;
}

.gallery_header {
    display: block;
    margin: 0;
    padding: 10px;
    height: 75px;
    position: relative;
}
.gallery_header .logo {
    max-width: 170px;
    width: 50%;
    margin: 20px auto 0;
    display: flex;
    align-items: center;
}
.gallery_header .logo a {
    display: block;
}
.gallery_header .info {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: -1;
}
.gallery_header .info_item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 195px;
    margin-left: 10px;
    padding: 5px;
    background-color: #f0ebe4;
    text-align: center;
    font-size: 1.4rem;
}
.gallery_header .info_item .icon {
    max-width: 29px;
    margin-right: 5px;
}
.gallery_header .info_mail {
    background-color: #ab995b;
    color: #fff !important;
}
.gallery_header .info_mail span {
    color: #fff;
}
.gallery_header .info_item:hover {
    opacity: .7;
}

@media screen and (max-width: 1040px) {
    .gallery_header .logo {
        margin: 20px 0 0 15px;
    }
}

/*-------------------------
  footer
-------------------------*/
footer{
    margin: 0;
    padding: 0;
}

.footer .copyright {
    padding: 15px 0;
    font-size: 1.2rem;
    text-align: center;
    color: #333;
}


/*-------------------------
  mv
-------------------------*/
.mv {
    position: relative;
    padding-bottom: 30px;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 90%, rgba(144, 141, 177, 1) 90%);
}
.mv.utsunomiya {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 90%, rgba(144, 141, 177, 1) 90%);
}
.mv_01 {
    margin-bottom: 25px;
}

.slick-track {
    display: flex !important;
}
.slick-slide {
    height: auto !important;
    /* margin: 0 10px; */
}
.mv .slick-slide {
    margin: 0 10px;
}
.slick-slide img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.mv_in {
    max-width: 290px;
    width: 100%;
    position: absolute;
    top: 43%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.page_title {
    font-family: 'Zen Kaku Gothic Antique', sans-serif;
    text-align: center;
}
.page_title img {
    display: block;
    margin-bottom: 50px;
}
.page_title .p-main {
    font-size: 4.3rem;
    color: #908db1;
}
.mv.utsunomiya .page_title .p-main {
    color: #908db1 !important;
}
.page_title .p-sub {
    font-size: 1.9rem;
}
.page_title .p-sub::before {
    content: "";
    display: block;
    width: 30px;
    height: 2px;
    margin: 10px auto;
    border-bottom: 1px solid #333;
    transform: rotate(-45deg);
}

/*-------------------------
  コンテンツ
-------------------------*/
.container {
    margin: 0 auto;
    padding: 60px 0;
    max-width: 950px;
}
.heading01 {
    margin-bottom: 30px;
    font-family: 'Zen Kaku Gothic Antique', sans-serif;
    font-size: 3rem;
    text-align: center;
}
.desc {
    text-align: center;
}

.index {
    padding: 65px 0;
}
.index .p-title {
    width: fit-content;
    margin: 0 auto 20px;
    padding: 0 20px;
    font-size: 1.5rem;
    text-align: center;
    border: 1px solid #333;
    border-radius: 999px;
    /* padding: 50px 0; */
}
.index_list {
    display: flex;
    justify-content: center;
    gap: 2%;
}
.index_list a {
    display: block;
    font-size: 1.5rem;
    text-align: center;
    max-width: 143px;
}
.index_list a img {
    display: block;
    margin-bottom: 10px;
}
.index_list a:hover {
    opacity: .7;
}

.gallery_block {
    padding: 60px 0 80px;
}
.gallery_block .block_title {
    margin-bottom: 35px;
    font-family: 'Zen Kaku Gothic Antique', sans-serif;
    font-size: 2.6rem;
    text-align: center;
}
.gallery_block .block_in_01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.gallery_block .block_in_01 > div {
    width: 48%;
    max-width: 453px;
}
.gallery_block .block_in_02 {
    margin-top: 50px;
}
.gallery_block .block_in_02 .lead {
    padding-bottom: 10px;
    font-size: 2rem;
}
.gallery_block .block_in_02 .imgs {
    position: relative;
    margin: 60px 0 0;
    padding-bottom: 400px;
}
.gallery_block .block_in_02 .img {
    position: absolute;
    max-width: 278px;
    width: 30%;
}
.gallery_block .block_in_02 .img01 {
    top: 0;
    left: 0;
}
.gallery_block .block_in_02 .img02 {
    top: 15%;
    left: 39%;
}
.gallery_block .block_in_02 .img03 {
    top: 0;
    right: 0;
}
.gallery_block#anchor02 .block_in_02 .imgs {
    padding-bottom: 500px;
}
.gallery_block#anchor04 .block_in_02 .imgs {
    padding-bottom: 430px;
}

.btn-link {
    margin: 100px auto 0 !important;
}

/*-------------------------
 佐野
-------------------------*/
.mv.sano {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 90%, rgba(88, 106, 20, 1) 90%);
}
.mv.sano .page_title .p-main {
    color: #586a14 !important;
}
.sano .gallery_block .block_in_02 {
    margin-top: 80px;
}

/*-------------------------
 小山
-------------------------*/
.mv.oyama {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 90%, rgba(185, 119, 125, 1) 90%);
}
.mv.oyama .page_title .p-main {
    color: #b9777d;
}
.oyama .gallery_block .block_in_02 {
    margin-top: 80px;
}




/*=========================
 SP
=========================*/

@media screen and (max-width: 768px) {
    .show_pc{
        display: none !important;
    }
    .show_sp{
        display: block !important;
    }

    /*-------------------------
    header
    -------------------------*/
    .gallery_header {
        display: block;
        margin: 0;
        padding: 15px;
        height: auto;
        position: relative;
    }
    .gallery_header .logo {
        width: 45%;
        margin: 0 auto 0;
    }

    .gallery_header .info {
        width: 100%;
        position: fixed;
        top: unset;
        right: inherit;
        bottom: 0;
        left: 0;
    }
    .gallery_header .info_item {
        width: 50%;
        margin-left: 0;
        padding: 5px;
        font-size: 1.3rem;
        line-height: 1.5;
    }
    .gallery_header .info_item .icon {
        max-width: 29px;
        margin-right: 5px;
    }
    .gallery_header .info_mail {
        background-color: #ab995b;
        color: #fff !important;
    }
    .gallery_header .info_mail span {
        color: #fff;
    }

    /*-------------------------
    footer
    -------------------------*/
    .footer {
        padding-bottom: 60px;
    }
    .footer .copyright {
        padding: 15px 0;
        font-size: 1.1rem;
    }


    /*-------------------------
    mv
    -------------------------*/
    .mv {
        padding-bottom: 20px;
        background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 90%, rgba(144, 141, 177, 1) 90%);
    }
    .mv_01 {
        margin-bottom: 15px;
    }
    .mv .slick-slide {
        margin: 0 7px;
    }

    .mv_in {
        width: 50%;
        top: 43%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
    .page_title img {
        margin-bottom: 0;
    }
    .page_title .p-main {
        font-size: 2.7rem;
        line-height: 1.3;
    }
    .page_title .p-sub {
        font-size: 1.3rem;
    }
    .page_title .p-sub::before {
        width: 20px;
        margin: 10px auto;
    }

    /*-------------------------
    コンテンツ
    -------------------------*/
    .container {
        margin-top: 0;
        padding: 40px 0 20px;
        max-width: 950px;
        width: 100%;
        font-size: 1.3rem;
        /* overflow-x: hidden; */
    }
    .heading01 {
        margin-bottom: 20px;
        font-size: 2rem;
    }
    .desc {
        line-height: 2;
    }

    .index {
        padding: 65px 0 20px;
        overflow: hidden;
    }
    .index .p-title {
        margin: 0 auto;
        padding: 0 20px;
        font-size: 1.5rem;
    }
    .sp_scroll {
        width: 100%;
        padding: 20px 0 0 30px;
    }
    .sp_scroll_in {
        width: 100%;
        overflow: scroll;
        padding-bottom: 10px;
    }

    .index_list {
        min-width: 760px;
        /* margin-left: 10%; */
    }
    .index_list a {
        font-size: 1.3rem;
        max-width: 115px;
    }
    .index_list a img {
        margin-bottom: 7px;
    }

    .gallery_block {
        padding: 40px 0;
    }

    .gallery_block .block_title {
        margin-bottom: 20px;
        font-size: 2rem;
    }
    .gallery_block .block_in_01 {
        flex-direction: column;
    }
    .gallery_block .block_in_01 > div {
        width: 100%;
        max-width: 100%;
    }
    .gallery_block .image01 {
        margin-top: 10px;
    }
    .gallery_block .block_in_02 {
        margin-top: 40px;
        padding: 0 20px;
    }
    .gallery_block .block_in_02 .lead {
        padding-bottom: 7px;
        font-size: 1.5rem;
    }
    .gallery_block .block_in_02 .imgs {
        margin: 30px 0 0;
        padding-bottom: 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    .gallery_block .block_in_02 .img {
        position: static;
        max-width: 100%;
        width: 100%;
    }
    .gallery_block .block_in_02 .imgs > div {
        width: 48%;
    }
    .gallery_block .block_in_02 .img01 {
    margin-bottom: 15px;
    }

    .gallery_block .block_in_02 .img03 {
        margin-top: 24%;
    }
    .gallery_block#anchor02 .block_in_02 .imgs {
        padding-bottom: 0;
    }
    .gallery_block#anchor04 .block_in_02 .imgs {
        padding-bottom: 0;
    }

    .btn-link {
        margin: 50px auto 0 !important;
    }


    /*-------------------------
     佐野
    -------------------------*/
    .sano .index_list {
        min-width: 400px;
    }
    .sano .gallery_block .block_in_02 {
        margin-top: 40px;
    }
    /*-------------------------
     小山
    -------------------------*/
    .oyama .gallery_block .block_in_02 {
        margin-top: 40px;
    }
}


.slick-track {
    display: flex;
}
.slick-slide {
    height: auto !important;
}
.slick-slide img {
    height: auto;
}