/*=======================
	// grand-header 
=====================*/

#grand-header {
    height: 40px;
    margin-bottom: 0;
    background-color: #3c3c41;
    display: flex;
    justify-content: center;
    align-items: center;
}

#grand-header a {
    width: 92px;
}

#grand-header a img {
    width: 100%;
}

.header.miyajiHeader {
    display: none;
}

@media print, screen and (min-width: 1000px) {

    #grand-header {
        height: 60px;
    }

    #grand-header a {
        width: 132px;
    }

}



/*====================================================
	overwrite
====================================================*/


em {
    font-style: normal;
}


a i {
    width: 6px;
    margin-right: 8px;
    display: inline-block;
    vertical-align: middle;
}

.spec dt {
    margin-bottom: .5em !important;
    padding: .6em 0 .5em;
    /* border-bottom: #b39b75 thin solid; */
    border-bottom: #b49666 thin solid;
}

.spec dt .name-kana {
    font-size: 1.4rem;
    font-weight: normal;
}

.spec .period {
    font-size: 1.4rem;
    font-weight: normal;
}

.spec-price-inner dt {
    font-size: 1.2rem !important;
    font-weight: normal !important;
    color: #fff;
    margin-bottom: 0 !important;
    padding: .15em 1em .1em;
    background: #1a738f;
    display: inline-block;
    border-radius: .5em;
}

.spec-price-inner dd {
    margin-left: 1em;
    margin-bottom: 1em;
}

.spec dd s {
    font-size: 1.6rem;
    font-weight: normal !important;
}

.spec dd .red_price {
    color: #c00;
    font-size: 2.0rem;
}

.spec dd.copy {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    flex-wrap: wrap;
}


.read_more {
    margin-bottom: 2em;
}

.read_more li {
    width: 70%;
    margin: auto;
    padding: .2em 0;
    color: #fff;
    background: #3156a1;
    text-align: center;
    border-radius: 2em;
}


@media print,
screen and (min-width: 1024px) {

    /* ///////// pc /////////// */
    .spec dd.copy .txtbox {
        width: 70%;
        margin: auto 5% auto auto;
    }

    .spec dd.copy figure {
        width: 25%;
    }
}


@media screen and (min-width: 641px) and (max-width: 1023px) {

    .spec dd.copy .txtbox {
        width: 82.5%;
        margin: auto 2.5% auto auto;
    }

    .spec dd.copy figure {
        width: 15%;
    }
}



@media screen and (max-width: 768px) {

    .spec dt {
        margin-bottom: 0 !important;
    }

    .spec dd.copy .txtbox {
        width: 70%;
        margin: auto 5% auto auto;
    }

    .spec dd.copy figure {
        width: 25%;
    }
}





/*=======================
	// font-family
=====================*/

/*
// <weight>: Use a value from 200 to 900
// <uniquifier>: Use a unique and descriptive class name
.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
  */
.noto-serif-jp {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
}


.noto-serif-jp.fw200 {
    font-weight: 200;
    /* border: #f00 thin solid; */
}

.noto-serif-jp.fw300 {
    font-weight: 300;
}

.noto-serif-jp.fw400 {
    font-weight: 400;
}

.noto-serif-jp.fw500 {
    font-weight: 500;
}

.noto-serif-jp.fw600 {
    font-weight: 600;
}

.noto-serif-jp.fw700 {
    font-weight: 700;
}

.noto-serif-jp.fw800 {
    font-weight: 800;
}


/*

.eb-garamond-<uniquifier> {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

*/

.eb-garamond {
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    /* font-weight: <weight>; */
    font-style: normal;
}

.eb-garamond.fw400 {
    font-weight: 400;
}

.eb-garamond.fw500 {
    font-weight: 500;
}

.eb-garamond.fw600 {
    font-weight: 600;
}

.eb-garamond.fw700 {
    font-weight: 700;
}

.eb-garamond.fw800 {
    font-weight: 800;
}



.tangerine-regular {
    font-family: "Tangerine", cursive;
    font-weight: 400;
    font-style: normal;
}

.tangerine-bold {
    font-family: "Tangerine", cursive;
    font-weight: 700;
    font-style: normal;
}


/*====================================================
	common
====================================================*/

/* .toSR-TOP .linkbtn {
    width: 70%;
    margin: auto auto 50px;
}

.toSR-TOP .link-lineup a {
    padding: 1em;
    background: #3156a1;
} */

.linkbtn li a {
    margin: auto auto 1.5em;
    padding: 20px 1em;
    color: #fff;
    background: #b39b75;
    display: block;
    text-align: center;
    border-radius: 2em;

}

.link-selection a {
    margin: auto;
    color: #fff;
    font-size: 1.6rem;
    display: block;
    text-align: center;
    padding: .5em 1em;
    border-radius: 2em;
    background: #3156a1;
}


@media screen and (min-width: 769px) {
    .link-selection a {
        width: 60%;
    }
}

@media screen and (max-width: 768px) {

    .whitebox {
        padding: 21px 0em 0;
    }

    /* 
    .toSR-TOP .linkbtn {
        width: 95%;
        margin: 0 auto;
    } */

    .linkbtn li a {
        border-radius: 3em;
        padding: 15px 0em;
    }



}


@media screen and (max-width: 640px) {
    .whitebox {
        padding: 1em 1em 0;
    }
}



/*====================================================
	color settings
====================================================*/

/* text */

.red {
    color: #9e0905;
}

.red_02 {
    color: #f00;
}

.endtxt {
    color: #f00;
}

.gray {
    color: #999;
}

.gray-666 {
    color: #999;
}

.text-purple {
    color: #4f267b;
}


/*  //////// background //////// */

.bg-purple {
    background-color: #4f267b;
}

.bg-purple2 {
    /* background-color: #e4d8f1; */
    background-color: #f3ecfc;
}



.bg-gold {
    background-color: #c6ad86;
}

.bg-gold2 {
    background-color: #e4d8c5;
}


.bg-ccc {
    background-color: #ccc;
}

.bg-ddd {
    background-color: #ddd;
}

.bg-eee {
    background-color: #eee;
}


/* border */

.border-555 {
    border: #555 thin solid;
}


.border-top-555 {
    border-top: #555 thin solid;
}

.border-bottom-555 {
    border-bottom: #555 thin solid;
}

.border-top-purple {
    border-top: #4f267b thin solid;
}

.border-bottom-purple {
    border-bottom: #4f267b thin solid;
}



/* shadow */

.shadow {
    box-shadow: 0 3px 5px 0 #999;
}

i.arrow {
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #fff;
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
}


i.arrow.gold {
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #b39b75;
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
}



/*====================================================
	header
====================================================*/

header {
    font-size: 1.4rem;
    background: #fff;
    /*    border-bottom: #e2e2e2 thin solid;*/
}


header .header-inner {
    position: relative;
}



header .header-inner .link-to-top {
    position: absolute;
    top: 2%;
    right: 0;
}

header .header-inner .link-to-top a {
    font-size: 1.2rem;
    color: #fff;
    background: #c1874d;
    padding: .25em 2em;
    border-radius: 0 0 .5em .5em;
}

@media print,
screen and (min-width: 1024px) {
    header .header-inner {
        width: 95%;
        max-width: 1080px;
        margin: auto;
        padding: 1em 0;
    }

    header .logo {
        width: 365px;
    }
}

@media screen and (max-width: 1023px) {
    header .header-inner {
        padding: .5em .5em;
    }

    header .header-inner img.logo {
        width: 60%;
    }

    header .header-inner .link-to-top {
        position: absolute;
        top: .75em;
    }

    header .header-inner .link-to-top {
        width: 35%;
    }

    header .header-inner .link-to-top a {
        font-size: 1.2rem;
        text-align: center;
        margin-right: 1%;
        padding: .25em .5em;
        border-radius: 2em;
        display: block;
    }
}




/*====================================================
article 
====================================================*/

article {
    position: relative;
    font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    color: #333;
}


a.red {
    color: #a20000;
}

a.red:hover {
    color: #f46060;
}

a.line {
    text-decoration: underline;
}

article .lv-02 {
    /* width: 95%;
    margin-left: auto;
    margin-right: auto; */
    /* background-color: #999; */
    /* background-color: #aa8c49; */

    /*
box-shadow:横方向のずれ 下方向のずれ ぼかしの大きさ 影の広がり 影の色;
*/
}

@media screen and (min-width: 1000px) {

    /* article {
        padding-top: 100px;
        border: #f00 thin solid;
    } */

    /* article .lv-02 {
        width: 95%;
    } */


}


/*====================================================
	// class .contents
====================================================*/



.contents_texture {
    padding-bottom: 60px;
}



@media screen and (max-width: 1023px) {
    .pages .contents_texture {
        padding-top: 100px;
    }
}



@media screen and (max-width: 900px) {

    .pages .contents_texture {
        padding-top: 120px;
    }

}


@media screen and (max-width: 768px) {

    .pages .contents_texture {
        padding: 70px 0;
    }

}



/*====================================================
	//ID .category
====================================================*/

.category {
    background: #fff;
    overflow: hidden;
    /* box-shadow: inset 0 3px 5px #000; */
}

.category h2 {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    height: 110px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    background-color: #666;
    line-height: 1.1;
    /**/
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
}

.category h2 .en {
    font-size: 60px;
    margin-bottom: -10px;

}

.category h2 .jp {
    font-size: 22px;
}

.category h3 {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    height: 110px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    background-color: #666;
    line-height: 1.1;
    /**/
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 600;
}



/* individuals */

#wrap.vn .category h2 {
    /* background-color: #1753aa; */
    background-color: #0e408a;
}


#wrap.vn .category h3 {
    color: #1753aa;
    border: #1753aa thin solid;
    border-left: none;
    border-right: none;
    background-color: #fff;
}


#wrap.vavc.va .category h2 {
    /* background-color: #1753aa; */
    background-color: #044900;
}


#wrap.vavc.va .category h3 {
    color: #044900;
    border: #044900 thin solid;
    border-left: none;
    border-right: none;
    background-color: #fff;
}




#wrap.vavc.vc .category h2 {
    /* background-color: #1753aa; */
    background-color: #8c1037;
}


#wrap.vavc.vc .category h3 {
    color: #a00c3b;
    border: #a00c3b thin solid;
    border-left: none;
    border-right: none;
    background-color: #fff;
}


#wrap.recorder .category h2 {
    /* background-color: #1753aa; */
    background-color: #c55300;
}


#wrap.recorder .category h3 {
    color: #c55300;
    border: #c55300 thin solid;
    border-left: none;
    border-right: none;
    background-color: #fff;
}



@media screen and (min-width: 1000px) {

    .category h2 {
        height: 200px;
    }

    .category h2 .en {
        font-size: 100px;
        margin-bottom: -10px;

    }

    .category h2 .jp {
        font-size: 30px;

    }

    .category h3 {
        height: 160px;
    }


}




/*====================================================
	// NOTE  h3 design 
====================================================*/

/* 
@media screen and (max-width: 768px) {
    .category h3 {
        font-size: 2.6rem !important;
        margin: 0 auto .75em;
    }
} */




/*====================================================
	#msc
====================================================*/

#msc {
    background: #fff;
    overflow: hidden;
}



#msc h3 {
    /* text-align: center; */
    /* color: #fff; */
    background: #1753aa;
    /* background: linear-gradient(to bottom, #44206b, #653599); */
}

#msc .catch {
    color: #9b7c25;
}


/*====================================================
	advance_notice
=====================================================*/

.advance_notice .inside {
    min-height: 600px;
}




/*====================================================
	#access
=====================================================*/

#access figure {
    height: 600px;
    /* border: #f00 thin solid; */
}

#access figure iframe {
    height: 100%;
}

@media screen and (max-width: 900px) {

    #access figure {
        height: 400px;
        /* border: #f00 thin solid; */
    }


}





/*====================================================
	.member
====================================================*/



.member h2 {
    line-height: 1.3;
}

/* .member .inside {
    width: 90%;
    width: 85%;
    margin: auto auto;
} */

.member .txt {
    width: 100%;
    margin-right: 1%;
}

.member figure {
    width: 90%;
    margin: auto;
    text-align: center;
    /* border: #f00 thin solid; */
}

.member figure img {
    width: 100%;
    /* border: #f00 thin solid; */
}


.member .catch {
    color: #9b7c25;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 1em;
}

.member .free {
    color: #c00;
}

.member p {
    margin-bottom: 2em;
}

.member .link a:hover {
    opacity: 0.6;
}

.member .indent {
    color: #cc8846;
}


.member dt .icon {
    color: #fff;
    background: #cc8846;
    padding: 5px 10px;
    border-radius: 2px;

}

@media screen and (min-width: 1000px) {

    .member {}

    .member .txt {
        width: 69%;
        margin-right: 1%;
    }

    .member figure {
        width: 30%;
        text-align: right;
    }

    .member figure img {
        width: 100%;
    }



}