@charset "UTF-8";

/* ■ フォント設定 ==================================================================================== */

/*
フォント
基準サイズ
*/


/* フォント --------------------------------------------------- */

/* WEBフォント：日本語 */
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 100;
    src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff2) format('woff2'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff) format('woff'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 200;
    src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format('woff2'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format('woff'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 300;
    src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format('woff2'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format('woff'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 500;
    src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 700;
    src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 900;
    src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff2) format('woff2'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff) format('woff'),
        url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.otf) format('opentype');
}

/* WEBフォント：英語 */
.WF1 {
    font-family: 'Noto Serif JP', serif;
    font-weight: normal;
    letter-spacing: 0.08em;
}

.WF2 {
    font-family: 'Amiri', serif;
    letter-spacing: 0.08em;
}

.WF3 {
    font-family: 'Roboto', sans-serif;
    letter-spacing: 0.08em;
}

.WF4 {
    font-family: 'Noto Serif JP', serif;
    font-weight: normal;
}

/* フォントファミリー */
@media only screen and (max-width: 767px) {

    body {
        font-family: Sans-Serif;
    }

}

@media print,
screen and (min-width: 767px) {

    body {
        font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", Sans-Serif;
    }

}

@media print,
screen and (min-width: 1090px) {}


/* 基準サイズ --------------------------------------------------- */

@media only screen and (max-width: 767px) {

    body {
        font-size: 15px;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    th,
    td,
    dl,
    ul,
    ol,
    caption,
    blockquote,
    input,
    select,
    textarea,
    div {
        line-height: 1.8em;
    }

}

@media print,
screen and (min-width: 767px) {

    body {
        font-size: 12px;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    th,
    td,
    dl,
    ul,
    ol,
    caption,
    blockquote,
    input,
    select,
    textarea,
    div {
        line-height: 2.0em;
    }

}

@media print,
screen and (min-width: 1090px) {

    /* 基準フォントサイズ：15px */
    body {
        font-size: 15px;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    th,
    td,
    dl,
    ul,
    ol,
    caption,
    blockquote,
    input,
    select,
    textarea,
    div {
        line-height: 2.0em;
    }

    /* 基準フォントサイズ：16px */
    /*
	body {
	font-size: 16px;
	}

	h1,h2,h3,h4,h5,h6,p,th,td,dl,ul,ol,caption,blockquote,input,select,textarea,div {
	line-height: 2.2em;
	}
*/

}



/* ■ カラー設定 ==================================================================================== */

/* 
本文・body背景
リンク
アラート
テキスト個別
ボーダー個別
背景個別
*/


/* 本文・body背景 --------------------------------------------------- */

body {
    color: #000;
    background: #fff;
}


/* リンク --------------------------------------------------- */

a:link {
    color: #1567a6;
    text-decoration: none;
}

a:active {
    color: #1567a6;
    text-decoration: none;
}

a:visited {
    color: #1567a6;
    text-decoration: none;
}

a:hover {
    color: #1567a6;
    text-decoration: none;
}

@media only screen and (max-width: 767px) {}

@media print,
screen and (min-width: 767px) {}

@media print,
screen and (min-width: 1090px) {

    a:link {
        -webkit-transition: color 0.3s ease 0.01s, background-color 0.3s ease 0.01s, opacity 0.3s ease 0.01s;
        transition: color 0.3s ease 0.01s, background-color 0.3s ease 0.01s, opacity 0.3s ease 0.01s;
    }

    a:hover {
        opacity: 0.7;
    }

}


/* アラート --------------------------------------------------- */

.Alert {
    color: #e90000;
}

.Box.Alert,
.Box1.Alert {
    border-color: #e90000;
}


/* テキスト個別 --------------------------------------------------- */

.TxtColor1 {
    color: #b8b8b8 !important;
}

.TxtColor2 {
    color: #b8b8b8 !important;
}

.TxtColor3 {
    color: #b8b8b8 !important;
}


/* ボーダー個別 --------------------------------------------------- */

.BorderColor1 {
    border-color: #ccc !important;
}

.BorderColor2 {
    border-color: #ccc !important;
}

.BorderColor3 {
    border-color: #ccc !important;
}


/* 背景個別 --------------------------------------------------- */

.BgColor1 {
    background-color: #f6f4f1 !important;
}

.BgColor2 {}

.BgColor3 {}



/* ■ 汎用 ==================================================================================== */
#Wrapper {
    min-width: 320px;
}

/* 非アクティブ */
.Disabled {
    opacity: 0.3;
    pointer-events: none;
}

.Disabled:hover {
    opacity: 0.3;
}

@media only screen and (max-width: 767px) {

    .PC {
        display: none !important;
    }

    .SE {
        display: none !important;
    }

}

@media print,
screen and (min-width: 767px) {

    .SP {
        display: none !important;
    }

    .SE {
        display: none !important;
    }
}

@media print,
screen and (min-width: 1090px) {}


@media screen and (max-width:320px) {

    .SE {
        display: block !important;
    }

}



/* ■ アイコン ==================================================================================== */



/* ■ 横幅最大値・左右余白設定 ==================================================================================== */

#Header,
#GlobalNav,
#FooterNav,
#BannerNav,
#Stage {
    width: 100%;
}

@media only screen and (max-width: 767px) {

    .ContentsUnit,
    .Width1,
    .Width2 {
        padding: 0 15px;
    }

}

@media print,
screen and (min-width: 767px) {

    #GlobalNavUnit,
    #FooterNavUnit,
    #PageWrap,
    .TopicPathUnit,
    .Width1,
    .Width2 {
        max-width: 1090px;
        margin: 0 auto;
        padding: 0 20px;
    }

    .BreadCrumbUnit {
        padding: 0 20px;
    }

}

@media print,
screen and (min-width: 1090px) {

    #GlobalNavUnit,
    #FooterNavUnit,
    #PageWrap,
    .TopicPathUnit,
    .Width1,
    .Width2 {
        padding: 0 40px;
    }

}



/* ■ ヘッダー（Header） ==================================================================================== */

.HeaderWrap {
    /* position: fixed; */
    width: 100%;
    background: #fff;
    z-index: 2000;
}

/* Logo */
#HeaderUnit .Logo a {
    display: block;
}

#HeaderUnit .ServiceName {
    display: block;
    line-height: 1.0em;
    text-indent: -9999px;
    background: url(../images/Logo.png) no-repeat;
    background-size: cover;
}

#HeaderUnit .TagLine {
    display: block;
    line-height: 1.0em;
    font-weight: 300;
    color: #000;
}

#HeaderUnit .FreeDial .TelNum a {
    color: #b9335f;
}

@media only screen and (max-width: 767px) {

    #Header {
        width: 100%;
        height: 75px;
        border-bottom: 5px solid #b9335f;
    }

    #HeaderUnit {
        margin: 0 auto;
    }

    /* Logo */
    #HeaderUnit .Logo {
        padding: 10px 0 20px 0;
    }

    #HeaderUnit .TagLine {
        margin-bottom: 10px;
        font-size: 67%;
        text-align: center;
    }

    #HeaderUnit .ServiceName {
        width: 187px;
        height: 26px;
        margin: 0 auto;
    }

    /* SubNav */
    #HeaderUnit .SubNavWrap {
        display: none;
    }

}

@media print,
screen and (min-width: 767px) {

    #Header {
        height: 90px;
        box-sizing: border-box;
        border-bottom: 1px solid #e9e9e9;
    }

    /* Logo */
    #HeaderUnit .Logo {
        float: left;
        width: 40%;
        padding: 16px 0 18px 25px;
    }

    #HeaderUnit .TagLine {
        margin-bottom: 14px;
        font-size: 87%;
    }

    #HeaderUnit .ServiceName {
        width: 220px;
        height: 30px;
    }

    /* SubNav */
    #HeaderUnit .SubNavWrap {
        float: right;
        width: 55%;
    }

    #HeaderUnit .FreeDial {
        float: left;
        width: 50%;
        padding-top: 22px;
    }

    #HeaderUnit .FreeDial .TelNum {
        position: relative;
        margin-bottom: 6px;
        padding-left: 37px;
        font-size: 192%;
        line-height: 1.0em;
        color: #b9335f;
    }

    #HeaderUnit .FreeDial .TelNum:before {
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        width: 31px;
        height: 17px;
        margin-top: 2px;
        background: url(../images/Icon_FreeDial.png) no-repeat center top;
        background-size: contain;
        content: '';
    }

    #HeaderUnit .FreeDial .TelNum a {
        pointer-events: none;
    }

    #HeaderUnit .FreeDial .Reception {
        font-size: 93%;
        line-height: 1.0em;
        letter-spacing: 0.08em;
        color: #000;
    }

    #HeaderUnit .SubNav {
        float: left;
        width: 50%;
    }

    #HeaderUnit .SubNav li {
        display: inline;
    }

    #HeaderUnit .SubNav li a {
        display: block;
        float: left;
        position: relative;
        width: 50%;
        border-left: 1px solid #91294b;
        background: #b9335f;
        color: #fff;
        height: 90px;
        font-size: 87%;
        text-align: center;
    }

    #HeaderUnit .SubNav li a span {
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 12px;
        margin: auto;
    }

    #HeaderUnit .SubNav li a:before {
        display: block;
        position: absolute;
        left: 50%;
        content: '';
    }

    #HeaderUnit .SubNav .Menu1 a:before {
        top: 25px;
        width: 23px;
        height: 17px;
        margin-left: -11px;
        background: url(../images/Icon_Mail.png) no-repeat center top;
        background-size: contain;
    }

    #HeaderUnit .SubNav .Menu2 a:before {
        top: 24px;
        width: 28px;
        height: 20px;
        margin-left: -14px;
        background: url(../images/Icon_Counselling.png) no-repeat center top;
        background-size: contain;
    }

}

@media print,
screen and (min-width: 1090px) {

    /* Logo */
    #HeaderUnit .Logo {
        width: 35%;
    }

    /* SubNav */
    #HeaderUnit .SubNavWrap {
        width: 50%;
    }

    #HeaderUnit .FreeDial {
        width: 45%;
        padding-top: 17px;
    }

    #HeaderUnit .FreeDial .TelNum {
        padding-left: 39px;
    }

    #HeaderUnit .FreeDial .TelNum:before {
        width: 33px;
        height: 19px;
        margin-top: 3px;
    }

    #HeaderUnit .SubNav {
        width: 55%;
    }

    #HeaderUnit .SubNav li a {
        font-size: 94%;
    }

}



/* ■ グローバルナビ（GlobalNav） ==================================================================================== */

#GlobalNav {}

#GlobalNavUnit li a {
    display: block;
    font-family: 'Noto Serif JP', serif;
    font-weight: 300;
    text-align: center;
    letter-spacing: 0.08em;
    color: #000;

}

@media only screen and (max-width: 767px) {

    #GlobalNav {
        box-shadow: 0 32px 30px -25px rgba(53, 47, 47, 0.15);
    }

    #GlobalNavUnit li {
        float: left;
        width: 33.33333%;
    }

    #GlobalNavUnit .sm li {
        float: none;
        width: 100%;
        text-align: left;
    }

    #GlobalNavUnit li a {
        padding: 15px 0;
        border-right: 1px solid #dbdbdb;
        border-bottom: 1px solid #dbdbdb;
        box-sizing: border-box;
        font-size: 87%;
        line-height: 1.0em;
    }

    #GlobalNavUnit li:nth-child(3n) a {
        border-right: none;
    }

    #GlobalNavUnit li:nth-child(n+4) a {
        border-bottom: none;
    }

    #GlobalNavUnit li a:link,
    #GlobalNavUnit li a:active,
    #GlobalNavUnit li a:visited,
    #GlobalNavUnit li a:hover {
        text-decoration: none;
    }

}

@media print,
screen and (min-width: 767px) {

    #GlobalNav {
        height: 60px;
        box-shadow: 0 32px 30px -25px rgba(53, 47, 47, 0.15);
    }

    #GlobalNavUnit {
        padding-top: 16px;
    }

    #GlobalNavUnit li {
        float: left;
        width: 16.6666%;
    }

    #GlobalNavUnit li a {
        box-sizing: border-box;
        border-left: 1px solid #dbdbdb;
        font-size: 114%;
    }

    #GlobalNavUnit li:last-child a {
        border-right: 1px solid #dbdbdb;
    }

    #GlobalNavUnit li.Current .Parent a {}

    /* 下層メニュー */
    /*
	#GlobalNav .Level2 {
	position: absolute;
	z-index: 1000;
	}
	
	#GlobalNav .Level2 li {
	display: block;
	float: none;
	width: 100%;
	border: none;
	text-align: left;
	background-color: #ccc;
	}
	
*/
    /* SmartMenus設定 --------------------------------------------------- */

    /* 親メニュー選択時（.highlighted）基本hover色と同じ */
    /*
	#GlobalNav .Parent a.highlighted {
	background-color: #bb2218;
	}
*/

}

@media print,
screen and (min-width: 1090px) {}



/* ■ パン屑リスト（TopicPath） ==================================================================================== */

.TopicPathUnit li,
.BreadCrumbUnit li {
    display: inline;
    position: relative;
    margin-right: 4px;
    padding-left: 14px;
    line-height: 1.5em;
}

.TopicPathUnit li:after,
.BreadCrumbUnit li:after {
    display: block;
    position: absolute;
    left: -1px;
    top: 50%;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border-top: solid 1px #b9335f;
    border-right: solid 1px #b9335f;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: '';
}

.TopicPathUnit li:first-child,
.BreadCrumbUnit li:first-child {
    padding-left: 13px;
    background-image: url(../images/Icon_PathHome.png);
    background-repeat: no-repeat;
}

.TopicPathUnit li:first-child:after,
.BreadCrumbUnit li:first-child:after {
    display: none;
}

.TopicPathUnit li a,
.BreadCrumbUnit li a {
    color: #b9335f;
}

.TopicPathUnit li:last-child a,
.BreadCrumbUnit li:last-child a {
    color: #000;
    text-decoration: none;
}

@media only screen and (max-width: 767px) {

    .TopicPath,
    .BreadCrumb {
        margin-bottom: 15px;
        width: 100%;
        -webkit-overflow-scrolling: touch;
        overflow-x: scroll;
        white-space: nowrap;
    }

    .TopicPathUnit,
    .BreadCrumbUnit {
        width: 100%;
        white-space: nowrap;
    }

    .TopicPathUnit li,
    .BreadCrumbUnit li {
        display: inline-block;
        font-size: 72%;

        white-space: nowrap;
        overflow: hidden;
    }

    .TopicPathUnit li:first-child,
    .BreadCrumbUnit li:first-child {
        background-size: 8px auto;
        background-position: 0 50%;
    }

}

@media print,
screen and (min-width: 767px) {

    .TopicPath,
    .BreadCrumb {
        margin-bottom: 30px;
    }

    .TopicPathUnit li,
    .BreadCrumbUnit li {
        font-size: 79%;
    }

    .TopicPathUnit li:first-child,
    .BreadCrumbUnit li:first-child {
        background-size: 8px auto;
        background-position: 0 52%;
    }

}

@media print,
screen and (min-width: 1090px) {

    .TopicPath,
    .BreadCrumb {
        margin-bottom: 40px;
    }

}



/* ■ ページの先頭へ ==================================================================================== */

#PageTop {
    display: none;
    position: fixed;
    z-index: 3000;
    right: 20px;
    bottom: 20px;
}

@media only screen and (max-width: 767px) {

    #PageTop {
        right: 10px;
        bottom: 80px;
    }

    #PageTop img {
        width: 40px;
        height: auto;
    }

}

@media print,
screen and (min-width: 767px) {

    #PageTop img {
        width: 60px;
        height: auto;
    }

}


@media print,
screen and (min-width: 1090px) {}



/* ■ 常に横にいるボタン（ContactSideNavWrap） ==================================================================================== */

@media print,
screen and (min-width: 767px) {

    #ContactSideNavWrap {
        display: none;
    }

    #ContactSideNavWrap .ContactNav {
        position: fixed;
        top: 100px;
        right: 0;
        z-index: 3;
        box-shadow: -2px 4px 8px rgba(53, 47, 47, 0.15);
    }

    #ContactSideNavWrap .ContactNav li a {
        display: block;
        position: relative;
        width: 90px;
        height: 90px;
        border-bottom: 1px solid #91294b;
        background: #b9335f;
        font-size: 74%;
        text-align: center;
        line-height: 1.5em;
        color: #fff;
    }

    #ContactSideNavWrap .ContactNav li:last-child a {
        border-bottom: none;
    }

    #ContactSideNavWrap .ContactNav li a:before {
        display: block;
        position: absolute;
        left: 50%;
        content: '';
    }

    #ContactSideNavWrap .ContactNav li.Menu1 a:before {
        top: 20px;
        width: 24px;
        height: 22px;
        margin-left: -9px;
        background: url(../images/Icon_Tel.png) no-repeat center top;
        background-size: contain;
    }

    #ContactSideNavWrap .ContactNav li.Menu2 a:before {
        top: 20px;
        width: 23px;
        height: 17px;
        margin-left: -11px;
        background: url(../images/Icon_Mail.png) no-repeat center top;
        background-size: contain;
    }

    #ContactSideNavWrap .ContactNav li.Menu3 a:before {
        top: 15px;
        width: 28px;
        height: 20px;
        margin-left: -10px;
        background: url(../images/Icon_Counselling.png) no-repeat center top;
        background-size: contain;
    }

    #ContactSideNavWrap .ContactNav li a span {
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 20px;
        margin: auto;
    }

    #ContactSideNavWrap .ContactNav li.Menu1 a span {
        display: block;
        position: absolute;
        left: 6px;
    }

    #ContactSideNavWrap .ContactNav li.Menu3 a span {
        display: block;
        position: absolute;
        bottom: 15px;
    }

}



/* ■ 常に下にいるボタン（ContactBottomNavWrap） ==================================================================================== */

@media only screen and (max-width: 767px) {

    #ContactBottomNavWrap {
        display: none;
    }

    #ContactBottomNavWrap .ContactNav {
        position: fixed;
        bottom: 0;
        width: 100%;
        z-index: 3;
        box-shadow: 0 -8px 10px rgba(53, 47, 47, 0.15);
    }

    #ContactBottomNavWrap .ContactNav li {
        width: 30%;
    }

    #ContactBottomNavWrap .ContactNav li:last-child {
        width: 40%;
    }

    #ContactBottomNavWrap .ContactNav li a {
        display: block !important;
        position: relative;
        width: 100%;
        height: 70px;
        border-right: 1px solid #91294b;
        background: #b9335f;
        font-size: 74%;
        text-align: center;
        line-height: 1.5em;
        color: #fff;
    }

    #ContactBottomNavWrap .ContactNav li:last-child a {
        border-right: none;
    }

    #ContactBottomNavWrap .ContactNav li a:before {
        display: block;
        position: absolute;
        top: 12px;
        left: 50%;
        content: '';
    }

    #ContactBottomNavWrap .ContactNav li.Menu1 a:before {
        width: 24px;
        height: 22px;
        margin-left: -9px;
        background: url(../images/Icon_Tel.png) no-repeat center top;
        background-size: contain;
    }

    #ContactBottomNavWrap .ContactNav li.Menu2 a:before {
        top: 14px;
        width: 23px;
        height: 17px;
        margin-left: -11px;
        background: url(../images/Icon_Mail.png) no-repeat center top;
        background-size: contain;
    }

    #ContactBottomNavWrap .ContactNav li.Menu3 a:before {
        width: 28px;
        height: 20px;
        margin-left: -10px;
        background: url(../images/Icon_Counselling.png) no-repeat center top;
        background-size: contain;
    }

    #ContactBottomNavWrap .ContactNav li a span {
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 12px;
        margin: auto;
    }

    #ContactBottomNavWrap .ContactNav li.Menu1 a span {
        display: block;
        position: absolute;
        left: 6px;
    }

    #ContactBottomNavWrap .ContactNav li.Menu3 a span {
        display: block;
        position: absolute;
        bottom: 15px;
    }

}



/* ■ フッターナビ（FooterNav） ==================================================================================== */

/* 見出し（カテゴリ名） */
@media only screen and (max-width: 767px) {

    #FooterNav {
        padding: 35px 0 40px 0;
        background: #f6f4f1;
    }

    .OpenCloseUnit {
        display: none;
    }

    #FooterNavUnit {
        padding: 0 15px;
        box-sizing: border-box;
    }

    #FooterNavUnit a {
        color: #000;
    }

    #FooterNavUnit .OpenCloseUnit a {
        display: block;
        position: relative;
        border-bottom: 1px solid #e9e8e5;
        background: #fff;
        padding: 15px 40px 15px 15px;
    }

    #FooterNavUnit .OpenCloseUnit a:after {
        display: inline-block;
        /*忘れずに！*/
        position: absolute;
        top: 50%;
        right: 15px;
        width: 19.5px;
        height: 7px;
        margin-top: -3.5px;
        background: url(../images/Icon_LinkAllow1.png) no-repeat right center;
        background-size: contain;
        vertical-align: middle;
        content: '';
    }

}

@media only screen and (max-width: 372px) {

    #FooterNavUnit .OpenCloseUnit a {
        font-size: 80%;
    }

}

@media print,
screen and (min-width: 767px) {

    #FooterNav {
        padding: 75px 0 90px 0;
        background: #f6f4f1;
    }

    #FooterNavUnit {
        display: table;
        width: 100%;
    }

    #FooterNavUnit .Unit {
        display: table-cell;
        width: 25%;
        padding-left: 3%;
        overflow: hidden;
    }

    #FooterNavUnit .Unit:first-child {
        width: 55%;
        padding-left: 0;
    }

    /* 見出し（カテゴリ名） */
    #FooterNavUnit h2 {
        margin-bottom: 25px;
        padding-top: 20px;
        border-top: 1px solid #8a7453;
        font-size: 134%;
        line-height: 1.5em;
    }

    #FooterNavUnit h2 a {
        color: #8a7453;
    }

    /* 子メニュー */
    #FooterNavUnit ul {
        margin-bottom: 15px;
    }

    #FooterNavUnit .Unit:first-child ul {
        float: left;
        width: 46%;
    }

    #FooterNavUnit .Unit:first-child ul:last-child {
        float: right;
    }

    #FooterNavUnit ul li {
        margin-bottom: 16px;
        font-size: 87%;
        line-height: 1.6em;
    }

    #FooterNavUnit ul li a {
        display: block;
        position: relative;
        padding-left: 18px;
        color: #000;
    }

    #FooterNavUnit ul li a:before {
        position: absolute;
        top: 0.7em;
        left: 0;
        width: 8px;
        border-top: 1px solid #b9335f;
        content: "";
    }

}

@media print,
screen and (min-width: 1090px) {}



/* ■ バナーナビ（BannerNav） ==================================================================================== */

@media only screen and (max-width: 767px) {

    #BannerNav {
        padding: 22px 35px;
        box-sizing: border-box;
        background: #f1ece5;
    }

    /* 子メニュー */
    #BannerNavUnit ul {
        width: 100%;
    }

    #BannerNavUnit ul li {
        margin-bottom: 10px;
    }

    #BannerNavUnit ul li:last-child {
        margin-bottom: 0;
    }

}

@media print,
screen and (min-width: 767px) {

    #BannerNav {
        padding: 45px 0;
        background: #f1ece5;
    }

    #BannerNavUnit {
        max-width: 1000px;
        margin: 0 auto;
        padding: 0 20px;
    }

    /* 子メニュー */
    #BannerNavUnit ul {
        width: 100%;
    }


    #BannerNavUnit ul li {
        float: left;
        width: 32%;
        margin-right: 2%;
        border: 1px solid #e9e9e9;
        box-sizing: border-box;
    }

    #BannerNavUnit ul li:last-child {
        margin-right: 0;
    }


}

@media print,
screen and (min-width: 1090px) {

    #BannerNavUnit {
        padding: 0;
    }

}





/* ■ フッター（Footer） ==================================================================================== */

#FooterUnit .SubNav li {
    display: inline;
}

#FooterUnit .Credit .Logo a {
    display: block;
    text-indent: -9999px;
    background: url(../images/Logo.png) no-repeat;
}

@media only screen and (max-width: 767px) {

    #Footer {
        padding: 35px 15px 25px 15px;
        box-sizing: border-box;
    }

    /* SubNav */
    #FooterUnit .SubNav {
        margin-bottom: 35px;
    }

    #FooterUnit .SubNav li a {
        display: block;
        position: relative;
        padding: 15px 40px 15px 15px;
        border-bottom: 1px solid #e9e8e5;
        background: #fff;
        color: #000;
    }

    #FooterUnit .SubNav li a:after {
        display: inline-block;
        position: absolute;
        top: 50%;
        right: 15px;
        width: 19.5px;
        height: 7px;
        margin-top: -3.5px;
        background: url(../images/Icon_LinkAllow1.png) no-repeat right center;
        background-size: contain;
        vertical-align: middle;
        content: '';
    }

    #FooterUnit .SubNav li:first-child a {
        border-top: 1px solid #e9e8e5;
    }

    /* クレジット */
    #FooterUnit .Logo {
        margin-bottom: 10px;
    }

    #FooterUnit .Logo a {
        width: 183px;
        height: 23px;
        background-size: contain !important;
    }

    #FooterUnit .Copyright {
        display: inline-block;
        font-size: 65%;
    }

}

@media print,
screen and (min-width: 767px) {

    #Footer {
        padding-top: 30px;
        padding-bottom: 40px;
    }

    #FooterUnit {
        /* 	max-width: 685px; */
        max-width: 460px;
        margin: 0 auto;
    }

    /* SubNav */
    #FooterUnit .SubNav {
        display: block;
        margin-bottom: 65px;
        overflow: hidden;
    }

    #FooterUnit .SubNav li {
        zoom: 1;
    }

    #FooterUnit .SubNav li a {
        display: block;
        float: left;
        /* 	width: 33.33333%; */
        width: 50%;
        box-sizing: border-box;
        border-left: 1px solid #dbdbdb;
        font-size: 94%;
        text-align: center;
        color: #000;
    }

    #FooterUnit .SubNav li:last-child a {
        border-right: 1px solid #dbdbdb;
    }

    /* クレジット */
    #FooterUnit .Credit {
        text-align: center;
    }

    #FooterUnit .Logo {
        margin-bottom: 25px;
    }

    #FooterUnit .Logo a {
        margin: 0 auto;
        width: 233px;
        height: 29px;
        background-size: contain !important;
    }

    #FooterUnit .Copyright {
        display: inline-block;
        font-size: 80%;
    }

}

@media print,
screen and (min-width: 1090px) {}



/* ■ お問い合わせ（Contact） ==================================================================================== */

#Contact .ContactUnit {
    box-sizing: border-box;
    border: 1px solid #e3adbf;
}

#Contact .LeadTitle {
    text-align: center;
}

#Contact .FreeDial .TelNum span {
    display: inline-block;
    position: relative;
    color: #b9335f;
}

#Contact .FreeDial .TelNum span:before {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 0;
    background: url(../images/Icon_FreeDial.png) no-repeat center top;
    background-size: contain;
    content: '';
}

#Contact .ContactNav li a {
    display: block;
    position: relative;
    background: #b9335f;
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    font-weight: normal;
    letter-spacing: 0.06em;
    text-align: center;
}

#Contact .ContactNav li a span {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}

#Contact .ContactNav li a:before {
    display: block;
    position: absolute;
    left: 50%;
    content: '';
}

#Contact .ContactNav li.Menu1 a:before {
    background: url(../images/Icon_Mail.png) no-repeat center top;
    background-size: contain;
}

#Contact .ContactNav li.Menu2 a:before {
    background: url(../images/Icon_Counselling.png) no-repeat center top;
    background-size: contain;
}

@media only screen and (max-width: 767px) {

    #Contact .ContactUnit {
        padding: 25px 15px 15px 15px;
        box-sizing: border-box;
    }

    #Contact .LeadTitle {
        margin-bottom: 20px;
        font-size: 114%;
    }

    #Contact .FreeDial {
        margin: 0 auto 20px auto;
        text-align: center;
    }

    #Contact .FreeDial .TelNum {
        display: inline-block;
        margin-bottom: 15px;
        line-height: 1.0em;
    }

    #Contact .FreeDial .TelNum span {
        padding-left: 40px;
        font-size: 210%;
    }

    #Contact .FreeDial .TelNum span:before {
        width: 35px;
        height: 20px;
        margin-top: -12px;
    }

    #Contact .FreeDial .Reception {
        font-size: 86%;
        line-height: 1.0em;
    }

    #Contact .ContactNav li a {
        height: 110px;
        font-size: 108%;
        line-height: 1.6em;
    }

    #Contact .ContactNav li.Menu1 a span {
        bottom: 25px;
    }

    #Contact .ContactNav li.Menu2 a span {
        bottom: 15px;
    }

    #Contact .ContactNav li.Menu1 a:before {
        top: 22px;
        width: 23px;
        height: 17px;
        margin-left: -11px;
    }

    #Contact .ContactNav li.Menu2 a:before {
        top: 22px;
        width: 28px;
        height: 20px;
        margin-left: -14px;
    }

}

@media only screen and (max-width: 372px) {

    #Contact .LeadTitle {
        margin-bottom: 15px;
        font-size: 100%;
    }

    #Contact .FreeDial .TelNum span {
        padding-left: 35px;
        font-size: 200%;
    }

    #Contact .FreeDial .TelNum span:before {
        width: 30px;
        height: 15px;
        margin-top: -7.5px;
    }

    #Contact .ContactNav li a {
        font-size: 94%;
        line-height: 1.5em;
    }

}

@media print,
screen and (min-width: 767px) {

    #Contact .ContactUnit {
        padding: 60px 0 40px 0;
    }

    #Contact .InBox {
        max-width: 490px;
        margin: 0 auto;
    }

    #Contact .LeadTitle {
        margin-bottom: 35px;
        font-size: 172%;
    }

    #Contact .FreeDial {
        margin: 0 auto 45px auto;
        text-align: center;
    }

    #Contact .FreeDial a {
        pointer-events: none;
    }

    #Contact .FreeDial .TelNum {
        display: inline-block;
        margin-bottom: 20px;
        line-height: 1.0em;
    }

    #Contact .FreeDial .TelNum span {
        margin-bottom: 6px;
        padding-left: 58px;
        font-size: 390%;
    }

    #Contact .FreeDial .TelNum span:before {
        width: 48px;
        height: 28px;
        margin-top: -14px;
    }

    #Contact .FreeDial .Reception {
        font-size: 108%;
        line-height: 1.0em;
    }

    #Contact .ContactNav li a {
        height: 110px;
        font-size: 134%;
    }

    #Contact .ContactNav li a span {
        bottom: 30px;
    }

    #Contact .ContactNav li.Menu1 a:before {
        top: 25px;
        width: 23px;
        height: 17px;
        margin-left: -11px;
    }

    #Contact .ContactNav li.Menu2 a:before {
        top: 24px;
        width: 28px;
        height: 20px;
        margin-left: -14px;
    }

}

@media print,
screen and (min-width: 1090px) {

    #Contact .InBox {
        max-width: 660px;
    }

}





/* ■ ヘッダー・フッター以外の領域指定（Stage） ==================================================================================== */

@media only screen and (max-width: 767px) {

    #Stage {
        margin-bottom: 30px;
    }

}

@media print,
screen and (min-width: 767px) {

    #Stage {
        margin-bottom: 50px;
    }

}

@media print,
screen and (min-width: 1090px) {}



/* ■ ローカルナビ（LocalNav） ==================================================================================== */

/* 見出し（カテゴリ名） */
#LocalNavArea h2.Mds {
    margin-bottom: 10px;
}

#LocalNavArea h2.Mds a {
    display: block;
    width: 100%;
    background-color: #b9335f;
    font-family: 'Noto Serif JP', serif;
    font-weight: normal;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1em;
    color: #fff;
}

.LocalNav li a,
.LocalNav li.Disabled {
    display: block;
    box-sizing: border-box;
    font-weight: normal;
    color: #000;
    text-decoration: none;
}

/* 親メニュー */
.LocalNav .Parent a {
    position: relative;
    border-bottom: 1px solid #b9335f;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.05em;
}

.LocalNav .Level1:first-child .Parent a {
    border-top: 1px solid #b9335f;
}


.LocalNav .Parent a:before,
.LocalNav .Parent a:after {
    display: block;
    position: absolute;
    background-color: #b9335f;
    content: "";
}

.LocalNav .Parent a:before {
    top: 50%;
}

.LocalNav .Parent a:after {
    top: 50%;
}

.LocalNav.NotOpen .Parent a:before {
    display: none;
}

.LocalNav.NotOpen .Parent a:after {
    top: 50%;
    background: url(../images/Icon_LinkAllow1.png) no-repeat right center;
    background-size: contain;
    vertical-align: middle;
}

.LocalNav .Current .Parent a {
    background-color: #ad9e84;
    border-top: none !important;
    border-bottom: none !important;
    color: #fff;
}

.LocalNav .Current .Parent a:before {
    background-color: #fff;
}

.LocalNav .Current .Parent a:after {
    display: none;
}

.LocalNav.NotOpen .Current .Parent a:before {
    display: none;
}

/*
.LocalNav .InPage .Parent a {
pointer-events: none !important;
}

.LocalNav .InPage .Parent a:before {
display: none;
}
*/

/* 子メニュー */
.LocalNav .Level2 {
    display: none;
}

.LocalNav .Current .Level2 {
    display: block;
}

.LocalNav .Level2 li {
    border-bottom: 1px solid #e9e8e5;
}

.LocalNav .Level2 li:last-child {
    border-bottom: none;
}

.LocalNav .Level2 a {
    position: relative;
    background-color: #f6f4f1;
}

.LocalNav .Level2 a:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    background: url(../images/Icon_LinkAllow1.png) no-repeat right center;
    background-size: contain;
    vertical-align: middle;
    content: '';
}

.LocalNav .Level2 .Current a {
    background-color: #ebe7e1;
}

/*
.LocalNav li.Disabled {
background-image: none;
}

.LocalNav li.Disabled span {
opacity: 0.25;
}
*/


@media only screen and (max-width: 767px) {

    #LocalNavArea {
        padding: 0 15px;
    }

    /* 見出し（カテゴリ名） */
    #LocalNavArea h2.Mds {
        margin-bottom: 10px;
    }

    #LocalNavArea h2.Mds a {
        font-size: 134%;
        padding: 15px 0;
    }

    /* 親メニュー */
    .LocalNav .Parent a {
        padding: 15px 60px 15px 15px;
        font-size: 100%;
        line-height: 1.5em;
    }

    .LocalNav .Parent a:before {
        right: 18px;
        width: 14px;
        height: 1px;
        margin-top: -1px;
    }

    .LocalNav .Parent a:after {
        right: 24px;
        width: 1px;
        height: 14px;
        margin-top: -7px;
    }

    .LocalNav.NotOpen .Parent a:after {
        right: 15px;
        width: 19.5px;
        height: 7px;
        margin-top: -3.5px;
    }

    /* 子メニュー */
    .LocalNav .Level2 a {
        padding: 15px 60px 15px 15px;
        font-size: 94%;
        line-height: 1.6em;
    }

    .LocalNav .Level2 a:after {
        right: 15px;
        width: 19.5px;
        height: 7px;
        margin-top: -3.5px;
    }

}

@media print,
screen and (min-width: 767px) {

    #LocalNavArea {
        float: right;
        width: 25%;
    }

    /* 見出し（カテゴリ名） */
    #LocalNavArea h2.Mds a {
        font-size: 134%;
        padding: 25px 0;
    }

    /* 親メニュー */
    .LocalNav .Parent a {
        padding: 15px 45px 15px 15px;
        font-size: 107%;
        line-height: 1.5em;
    }

    .LocalNav .Parent a:before {
        right: 15px;
        width: 13px;
        height: 1px;
        margin-top: -0.5px;
    }

    .LocalNav .Parent a:after {
        right: 21px;
        width: 1px;
        height: 13px;
        margin-top: -6.5px;
    }

    .LocalNav.NotOpen .Parent a:after {
        right: 15px;
        width: 19.5px;
        height: 7px;
        margin-top: -3.5px;
    }

    /* 子メニュー */
    .LocalNav .Level2 a {
        padding: 15px 40px 15px 15px;
        font-size: 94%;
        line-height: 1.6em;
    }

    .LocalNav .Level2 a:after {
        right: 15px;
        width: 14px;
        height: 6px;
        margin-top: -3px;
    }

}

@media print,
screen and (min-width: 1090px) {

    /* 見出し（カテゴリ名） */
    #LocalNavArea h2.Mds a {
        padding: 25px 0;
        font-size: 147%;
    }

}



/* ■ コンテンツ領域（Contents） ==================================================================================== */

@media only screen and (max-width: 767px) {

    #PageSubPage #Contents {
        margin-bottom: 30px;
        padding-bottom: 30px;
        border-bottom: 1px solid #e9e9e9;
    }

    #Contents2 {}

}

@media print,
screen and (min-width: 767px) {

    #PageSubPage #Contents {
        float: left;
        width: 71.5%;
    }

    #Contents2 {}

    #Contents3 {}

}

@media print,
screen and (min-width: 1090px) {}



/* ■ 見出し（h1〜） ==================================================================================== */

/* h1 */
.MdsH1 {
    font-family: 'Noto Serif JP', serif;
    font-weight: normal;
    /* letter-spacing: 0.10em; */
}

/* h2 */
.MdsH2 {
    font-family: 'Noto Serif JP', serif;
    font-weight: normal;
    /* letter-spacing: 0.08em; */
    line-height: 1.6em;
    color: #8a7453;
}

/* h3 */
.MdsH3 {}

/* h4 */
.MdsH4 {
    position: relative;
    margin-bottom: 5px;
}

.MdsH4:before {
    position: absolute;
    left: 0;
    background: #000;
    content: "";
}

/* h5 */
.MdsH5 {
    margin-bottom: 0;
    font-size: 100%;
    line-height: 1.4em;
}

@media only screen and (max-width: 767px) {

    /* h1 */
    .MdsH1 {
        font-size: 158%;
    }

    /* h2 */
    .MdsH2 {
        margin-bottom: 30px;
        font-size: 147%;
    }

    /* h3 */
    .MdsH3 {
        margin-bottom: 15px;
        font-size: 120%;
        line-height: 1.7em;
    }

    .MdsH3 span {
        color: #91294b;
    }

    /* h4 */
    .MdsH4 {
        padding-left: 16px;
        font-size: 108%;
        line-height: 1.4em;
    }

    .MdsH4:before {
        top: 5px;
        width: 11px;
        height: 11px;
    }

}

@media print,
screen and (min-width: 767px) {

    /* h1 */
    .MdsH1 {
        max-width: 1090px;
        margin: 0 auto;
        font-size: 250%;
        padding: 0 20px;
    }

    /* h2 */
    .MdsH2 {
        margin-bottom: 40px;
        font-size: 200%;
    }

    /* h3 */
    .MdsH3 {
        margin-bottom: 15px;
        font-size: 134%;
        font-weight: 500;
        line-height: 1.8em;
    }

    .MdsH3 span {
        color: #91294b;
    }

    /* h4 */
    .MdsH4 {
        padding-left: 14px;
        font-size: 108%;
        line-height: 1.8em;
    }

    .MdsH4:before {
        top: 7px;
        width: 10px;
        height: 10px;
    }

}

@media print,
screen and (min-width: 1090px) {

    /* h1 */
    .MdsH1 {}

    /* h2 */
    .MdsH2 {
        margin-bottom: 50px;
    }

    /* h3 */
    .MdsH3 {}

    /* h4 */
    .MdsH4 {
        margin-bottom: 10px;
        padding-left: 18px;
    }

    .MdsH4:before {
        left: 0;
        top: 8px;
        width: 12px;
        height: 12px;
    }

    /* h5 */
    .MdsH5 {
        margin-bottom: 0;
    }

}

/* ボーダー */
.MdsH2BorderTop1 {
    padding-top: 30px;
    border-color: #8a7453;
    border-top: 2px solid #8a7453;
}

@media only screen and (max-width: 767px) {

    .MdsH2BorderTop1 {
        padding-top: 18px;
        border-top: 1px solid;
    }
}

@media print,
screen and (min-width: 767px) {

    .MdsH2BorderTop1 {
        padding-top: 30px;
        border-top: 2px solid;
    }

}



/* ■ メインリード（LeadMain） ==================================================================================== */

@media only screen and (max-width: 767px) {

    .LeadMain {
        margin-bottom: 20px;
    }

}

@media print,
screen and (min-width: 767px) {

    .LeadMain {
        margin-bottom: 25px;
    }

}

@media print,
screen and (min-width: 1090px) {

    .LeadMain {
        margin-bottom: 30px;
    }

}



/* ■ メインセクション（SectionMain） ==================================================================================== */

@media only screen and (max-width: 767px) {

    .SectionMain,
    .SectionBasic {
        margin-bottom: 60px;
    }

    .SectionMain .Lead1,
    .SectionBasic .Lead1 {
        margin-bottom: 20px;
        line-height: 2.0em;
    }

    .SectionMain .Lead2,
    .SectionBasic .Lead2 {
        margin-bottom: 20px;
    }

    .SectionMain .Photo,
    .SectionMain .PhotoM,
    .SectionBasic .Photo,
    .SectionBasic .PhotoM {
        margin-bottom: 12px;
    }

}

@media print,
screen and (min-width: 767px) {

    .SectionMain,
    .SectionBasic {
        margin-bottom: 50px;
    }

    .SectionMain .Lead1,
    .SectionBasic .Lead1 {
        margin-bottom: 35px;
        line-height: 2.5em;
    }

    .SectionMain .Lead2,
    .SectionBasic .Lead2 {
        margin-bottom: 22px;
    }

    .SectionMain .Photo,
    .SectionMain .PhotoM,
    .SectionBasic .Photo,
    .SectionBasic .PhotoM {
        margin-bottom: 15px;
    }

}

@media print,
screen and (min-width: 1090px) {

    .SectionMain,
    .SectionBasic {
        margin-bottom: 70px;
    }

    .SectionMain .Lead1,
    .SectionBasic .Lead1 {}

    .SectionMain .Lead2,
    .SectionBasic .Lead2 {
        margin-bottom: 30px;
    }

    .SectionMain .Photo,
    .SectionMain .PhotoM,
    .SectionBasic .Photo,
    .SectionBasic .PhotoM {
        margin-bottom: 20px;
    }

}



/* ■ サブセクション（SectionSub） ==================================================================================== */

@media only screen and (max-width: 767px) {

    .SectionSub {
        margin-bottom: 35px;
    }

}

@media print,
screen and (min-width: 767px) {

    .SectionSub {
        margin-bottom: 50px;
    }

}

@media print,
screen and (min-width: 1090px) {

    .SectionSub {
        margin-bottom: 70px;
    }

}



/* ■ 関連情報（RelatedInfo） ==================================================================================== */

@media only screen and (max-width: 767px) {

    .RelatedInfo .Mds {
        margin-bottom: 5px;
        font-size: 108%;
    }

}

@media print,
screen and (min-width: 767px) {

    .RelatedInfo .Mds {
        margin-bottom: 5px;
        font-size: 108%;
    }

}


/* ■ 記述リスト（DLHori、DLVert、DLTable） ==================================================================================== */

/*
左右（dlh）
上下（dlv）
テーブルスタイル（dlt）
*/

/* 左右（dlh） --------------------------------------------------- */

.DLHori dl {
    border-bottom: 1px solid #e7e7e7;
}

@media only screen and (max-width: 767px) {

    /* 左右（dlh） */
    .DLHori {
        margin-top: -10px;
    }

    .DLHori dt,
    .DLHori dd {
        padding: 10px 0;
    }

}

@media print,
screen and (min-width: 767px) {

    .DLHori {
        margin-top: -15px;
    }

    .DLHori dt,
    .DLHori dd {
        padding: 15px 0;
    }

}

@media print,
screen and (min-width: 1090px) {}

/* 上下（dlv） --------------------------------------------------- */

.DLVert dl {
    border-bottom: 1px solid #e7e7e7;
}

@media only screen and (max-width: 767px) {

    .DLVert {
        margin-top: -10px;
    }

    .DLVert dl {
        padding: 10px 0;
    }

    .DLVert dt {
        margin-bottom: 3px;
    }

}

@media print,
screen and (min-width: 767px) {

    .DLVert {
        margin-top: -15px;
    }

    .DLVert dl {
        padding: 15px 0;
    }

    .DLVert dt {
        margin-bottom: 5px;
    }

}

@media print,
screen and (min-width: 1090px) {}

/* テーブルスタイル（dlt） --------------------------------------------------- */

.DLTable {
    border-top: 1px solid #b8b8b8;
}

.DLTable dl {
    border-left: 1px solid #b8b8b8;
}

.DLTable dt,
.DLTable dd {
    padding: 10px 15px;
    border-right: 1px solid #b8b8b8;
    border-bottom: 1px solid #b8b8b8;
}

.DLTable dt {
    background: #f2f2f2;
}

@media only screen and (max-width: 767px) {}

@media print,
screen and (min-width: 767px) {}

@media print,
screen and (min-width: 1090px) {}


/* ■ 表組み（Table1、Table2） ==================================================================================== */

.Table1 th,
.Table2 th,
.Table1 td,
.Table2 td {
    padding: 10px 15px;
    border: 1px solid #d0cbc4;
}

.Table1 th,
.Table2 th {
    background: #ebe7e1;
}

.Table1 th {
    text-align: center;
}

.Table2 th {
    text-align: left;
}

.Table1 td,
.Table2 td {
    background: #fff;
}

@media only screen and (max-width: 767px) {

    .Table1 th,
    .Table2 th,
    .Table1 td,
    .Table2 td {
        padding: 12px 10px;
    }

}

@media print,
screen and (min-width: 767px) {}

@media print,
screen and (min-width: 1090px) {}



/* ■ 囲み（Box） ==================================================================================== */

.Box,
.Box1 {
    border: 1px solid #b8b8b8;
}

.Box2 {
    border: 1px solid #e3adbf;
}


@media only screen and (max-width: 767px) {

    .Box,
    .Box1,
    .Box2 {
        margin-bottom: 15px;
        padding: 15px 15px;
    }

}

@media print,
screen and (min-width: 767px) {

    .Box,
    .Box1,
    .Box2 {
        margin-bottom: 20px;
        padding: 15px 15px;
    }

}

@media print,
screen and (min-width: 1090px) {

    .Box,
    .Box1,
    .Box2 {
        margin-bottom: 20px;
        padding: 20px 20px;
    }

}



/* ■ リスト各種 ==================================================================================== */

/*
ディスク（ListDisc）
ディスク：小（ListDiscS）
米印（ListKome）
米印：小（ListKomeS）
連番（ListNum）
連番：小（ListNumS）
米印連番：小（ListKomeNumS）
*/


/* ディスク（ListDisc） --------------------------------------------------- */

.ListDisc li {
    margin-bottom: 8px;
    line-height: 1.8em;
}

.ListDisc li:before {
    left: 2px;
    border-radius: 100%;
    background: #000;
}


@media only screen and (max-width: 767px) {

    .ListDisc li {
        padding-left: 16px;
    }

    .ListDisc li:before {
        left: 2px;
        top: 10px;
        width: 8px;
        height: 8px;
    }

}

@media print,
screen and (min-width: 767px) {

    .ListDisc li {
        padding-left: 15px;
    }

    .ListDisc li:before {
        left: 2px;
        top: 7px;
        width: 8px;
        height: 8px;
    }

}

@media print,
screen and (min-width: 1090px) {

    .ListDisc li {
        padding-left: 18px;
    }

    .ListDisc li:before {
        top: 9px;
        width: 9px;
        height: 9px;
    }

}

/* IE10以上 */
@media all and (-ms-high-contrast: none) {

    .ListDisc li:before {
        top: 9px;
    }

}

/* Firefox */
@-moz-document url-prefix() {

    .ListDisc li:before {
        top: 9px;
    }

}


/* ディスク：小（ListDiscS） --------------------------------------------------- */

.ListDiscS li {
    margin-bottom: 5px;
}

.ListDiscS li:before {
    border-radius: 100%;
    background: #000;
}

@media only screen and (max-width: 767px) {

    .ListDiscS li {
        padding-left: 16px;
        font-size: 86%;
        line-height: 1.7em;
    }

    .ListDiscS li:before {
        left: 4px;
        top: 8px;
        width: 6px;
        height: 6px;
    }

    .Android .ListDiscS li:before {
        top: 9px;
    }

}

@media print,
screen and (min-width: 767px) {

    .ListDiscS li {
        padding-left: 15px;
        font-size: 88%;
        line-height: 1.8em;
    }

    .ListDiscS li:before {
        left: 4px;
        top: 7px;
        width: 6px;
        height: 6px;
    }

}

@media print,
screen and (min-width: 1090px) {

    .ListDiscS li {
        padding-left: 17px;
    }

    .ListDiscS li:before {
        top: 9px;
        width: 7px;
        height: 7px;
    }

}

/* Firefox */
@-moz-document url-prefix() {

    .ListDiscS li:before {
        top: 9px;
    }

}


/* 米印（ListKome） --------------------------------------------------- */

.ListKome li {
    margin-bottom: 5px;
}

.ListKome li:before {
    left: 1px;
}


@media only screen and (max-width: 767px) {

    .ListKome li {
        padding-left: 17px;
        line-height: 1.8em;
    }

    .ListKome li:before {
        top: 0px;
        font-size: 93%;
    }

    .Android .ListKome li:before {
        top: 1px;
    }

}

@media print,
screen and (min-width: 767px) {

    .ListKome li {
        padding-left: 16px;
        line-height: 1.8em;
    }

    .ListKome li:before {
        top: 0;
        font-size: 90%;
    }

}

@media print,
screen and (min-width: 1090px) {

    .ListKome li {
        padding-left: 18px;
    }

    .Win .ListKome li:before {
        top: -1px;
    }

}

/* IE10以上 */
@media all and (-ms-high-contrast: none) {

    .Win .ListKome li:before {
        top: 1px;
    }

}

/* Firefox */
@-moz-document url-prefix() {

    .ListKome li:before {
        top: 1px;
    }

    .Win .ListKome li:before {
        top: 0;
    }

}


/* 米印：小（ListKomeS） --------------------------------------------------- */

.ListKomeS li {
    margin-bottom: 5px;
    line-height: 1.8em;
}

.ListKomeS li:before {
    left: 1px;
}

@media only screen and (max-width: 767px) {

    .ListKomeS li {
        padding-left: 16px;
        font-size: 86%;
    }

    .ListKomeS li:before {
        top: 0;
    }

}

@media print,
screen and (min-width: 767px) {

    .ListKomeS li {
        padding-left: 13px;
        font-size: 86%;
    }

    .ListKomeS li:before {
        top: 0;
        font-size: 84%;
    }

}

@media print,
screen and (min-width: 1090px) {

    .ListKomeS li {
        padding-left: 15px;
    }

    .ListKomeS li:before {
        top: 1px;
        font-size: 82%;
    }

    .Win .ListKomeS li:before {
        top: -1px;
    }

}

/* IE10以上 */
@media all and (-ms-high-contrast: none) {

    .Win .ListKomeS li:before {
        top: 1px;
    }

}


/* 連番（ListNum） --------------------------------------------------- */

.ListNum {
    padding-left: 4px;
}

.ListNum li {
    margin-bottom: 10px;
    line-height: 1.8em;
    counter-increment: ListNum;
}

.ListNum li:before {
    left: 1px;
    top: 0;
    font-size: 97%;
}

.ListNum li>ol {
    margin-top: 10px;
    padding-left: 0;
}

.ListNum li>ol li {
    counter-increment: Sub;
}

.ListNum li>ol li:before {
    content: counter(Sub)".";
}

@media only screen and (max-width: 767px) {

    .ListNum li:nth-child(n+10):before {
        left: -8px;
    }

    .ListNum li {
        padding-left: 18px;
    }

}

@media print,
screen and (min-width: 767px) {

    .ListNum li:nth-child(n+10):before {
        left: -5.5px;
    }

    .ListNum li {
        padding-left: 15px;
    }

}

@media print,
screen and (min-width: 1090px) {

    .ListNum li:nth-child(n+10):before {
        left: -8px;
    }

    .ListNum li {
        padding-left: 18px;
    }

}


/* 連番：小（ListNumS） --------------------------------------------------- */

.ListNumS {
    padding-left: 4px;
}

.ListNumS li {
    margin-bottom: 5px;
    font-size: 86%;
    counter-increment: ListNum;
}

.ListNumS li:before {
    left: 1px;
    top: 0;
    font-size: 97%;
}

@media only screen and (max-width: 767px) {

    .ListNumS li:nth-child(n+10):before {
        left: -7px;
    }

    .ListNumS li {
        padding-left: 16px;
        line-height: 1.7em;
    }

    .Android .ListNumS li:before {
        top: 1px;
    }

}

@media print,
screen and (min-width: 767px) {

    .ListNumS li:nth-child(n+10):before {
        left: -4.5px;
    }

    .ListNumS li {
        padding-left: 13px;
        font-size: 86%;
        line-height: 1.8em;
    }

}

@media print,
screen and (min-width: 1090px) {

    .ListNumS li:nth-child(n+10):before {
        left: -6.5px;
    }

    .ListNumS li {
        padding-left: 16px;
    }

}


/* 米印連番：小（ListKomeNumS） --------------------------------------------------- */

.ListKomeNumS li {
    margin-bottom: 5px;
    counter-increment: ListNum;
}

.ListKomeNumS li:before {
    left: 1px;
    top: 0;
    font-size: 97%;
}

@media only screen and (max-width: 767px) {

    .ListKomeNumS li {
        padding-left: 26px;
        font-size: 86%;
        line-height: 1.7em;
    }

    .Android .ListKomeNumS li:before {
        top: 1px;
    }

}

@media print,
screen and (min-width: 767px) {

    .ListKomeNumS li {
        padding-left: 22px;
        font-size: 88%;
        line-height: 1.8em;
    }

}

@media print,
screen and (min-width: 1090px) {

    .ListKomeNumS li {
        padding-left: 25px;
    }

}



/* ■ テキストリンクアイコン ==================================================================================== */

.LinkFwd,
.LinkBack,
.LinkDown,
.LinkUp {
    display: inline-block;
    position: relative;
    padding-left: 16px;
}

.LinkFwd:after,
.LinkBack:after,
.LinkDown:after,
.LinkUp:after {
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: solid 2px;
    border-right: solid 2px;
    content: '';
}

.LinkNewWin,
.LinkPDF {
    display: inline-block;
    position: relative;
}

.LinkNewWin {
    padding-right: 15px;
}

.LinkPDF {
    padding-left: 20px;
}

.LinkNewWin:before,
.LinkPDF:before,
.LinkNewWin:after,
.LinkPDF:after {
    display: block;
    position: absolute;
    content: '';
}

/* 進む（LinkFwd） */
.LinkFwd:after {
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* 戻る（LinkBack） */
.LinkBack:after {
    left: 2px;
    -ms-transform: rotate(225deg);
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}

/* 下へ（LinkDown） */
.LinkDown:after {
    margin-top: -5px;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

/* 下へ（LinkUp） */
.LinkUp:after {
    margin-top: -2px;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 別ウインドウ（LinkNewWin） */
.LinkNewWin:before {
    right: 0;
    top: 50%;
    width: 9px;
    height: 7px;
    margin-top: -2px;
    border: 1px solid #185ea7;
    background-color: #fff;
}

.LinkNewWin:after {
    right: -2px;
    top: 40%;
    width: 9px;
    height: 7px;
    margin-top: -2px;
    border: 1px solid #185ea7;
    border-top: 2px solid;
    background-color: #fff;
}

/* PDF（LinkPDF） */
.LinkPDF:before {
    left: 0;
    top: 50%;
    width: 13px;
    height: 16px;
    margin-top: -8px;
    border: 1px solid #a6a6a6;
    background-color: #fff;
}

.LinkPDF:after {
    left: -2px;
    top: 35%;
    width: 10px;
    height: 4px;
    font-size: 6px;
    background-color: #cc0000;
}

@media only screen and (max-width: 767px) {

    /* PDF（LinkPDF） */
    .LinkPDF {}

}

@media print,
screen and (min-width: 767px) {

    /* PDF（LinkPDF） */
    .LinkPDF {}

}

@media print,
screen and (min-width: 1090px) {

    /* PDF（LinkPDF） */
    .LinkPDF {}

}



/* ■ ボタン ==================================================================================== */

.BtnS,
.BtnM,
.BtnL {
    display: inline-block;
    position: relative;
    line-height: 1.0em;
    text-align: center;
}

/* 文字サイズ */
.BtnS {
    font-size: 93%;
}

.BtnM {
    font-size: 100%;
}

.BtnL {
    font-size: 115%;
}

/* 矢印 */
.BtnAllowLeft:after,
.BtnAllowRight:after,
.BtnAllowBack:after,
.BtnAllowDownLeft:after,
.BtnAllowDownRight:after,
.BtnAllowUpLeft:after,
.BtnAllowUpRight:after {
    display: block;
    position: absolute;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -5px;
    border-top: solid 2px;
    border-right: solid 2px;
    content: '';
}

/* 矢印：左 */
.BtnAllowLeft:after {
    left: 8px;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* 矢印：右 */
.BtnAllowRight:after {
    right: 10px;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* 矢印：戻る */
.BtnAllowBack:after {
    left: 10px;
    -ms-transform: rotate(225deg);
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}

/* 矢印：下向き左 */
.BtnAllowDownLeft:after {
    left: 10px;
    margin-top: -6px;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

/* 矢印：下向き右 */
.BtnAllowDownRight:after {
    right: 10px;
    margin-top: -6px;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

/* 矢印：上向き左 */
.BtnAllowUpLeft:after {
    left: 10px;
    margin-top: -3px;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 矢印：上向き右 */
.BtnAllowUpRight:after {
    right: 10px;
    margin-top: -3px;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 閉じる */
.BtnClose:before,
.BtnClose:after {
    display: block;
    position: absolute;
    left: 14px;
    top: 50%;
    height: 14px;
    margin-top: -7px;
    border: 1px solid;
    content: "";
}

.BtnClose:before {
    transform: rotate(-45deg);
}

.BtnClose:after {
    transform: rotate(45deg);
}

/* カラー：1 */
.BtnColor1:link,
.BtnColor1:active,
.BtnColor1:visited,
.BtnColor1:hover {
    color: #b9335f;
}

.BtnColor1:after {}

/* カラー：2 */
.BtnColor2:link,
.BtnColor2:active,
.BtnColor2:visited,
.BtnColor2:hover {
    color: #fff;
    background: #949494;
}

.BtnColor2:after {
    border-color: #fff;
}

/* カラー：3 */
.BtnColor3:link,
.BtnColor3:active,
.BtnColor3:visited,
.BtnColor3:hover {
    color: #fff;
    background: #970092;
}

.BtnColor3:after {
    border-color: #fff;
}

/* カラー：4 */
.BtnColor4:link,
.BtnColor4:active,
.BtnColor4:visited,
.BtnColor4:hover {
    color: #fff;
    background: #b9335f;
}


/* ボーダー */
.BtnBorder1 {
    border: 1px solid #e3adbf;
    box-sizing: border-box;
    text-align: left;
}

/* 画像矢印 */
.BtnImgAllowRight1:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    background: url(../images/Icon_LinkAllow1.png) no-repeat right center;
    background-size: contain;
    vertical-align: middle;
    content: '';
}

.BtnImgAllowRight2:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    background: url(../images/Icon_LinkAllow2.png) no-repeat right center;
    background-size: contain;
    vertical-align: middle;
    content: '';
}

@media only screen and (max-width: 767px) {

    .BtnImgAllowRight1:after {
        right: 10px;
        width: 19.5px;
        height: 7px;
        margin-top: -3.5px;
    }

    .BtnImgAllowRight2:after {
        right: 10px;
        width: 19.5px;
        height: 7px;
        margin-top: -3.5px;
    }

}

@media print,
screen and (min-width: 767px) {

    .BtnImgAllowRight1:after {
        right: 10px;
        width: 19.5px;
        height: 7px;
        margin-top: -3.5px;
    }

    .BtnImgAllowRight2:after {
        right: 10px;
        width: 19.5px;
        height: 7px;
        margin-top: -3.5px;
    }

}


@media only screen and (max-width: 767px) {

    .BtnS {}

    .BtnM {
        width: 100%;
        padding: 14px 16px;
    }

    .BtnL {}

}

@media print,
screen and (min-width: 767px) {

    .BtnS {}

    .BtnM {
        width: 45%;
        padding: 12px 15px;

    }

    .BtnL {}

    /* 矢印：左 */
    .BtnAllowLeft,
    .BtnAllowBack,
    .BtnAllowUpLeft,
    .BtnClose {
        padding-left: 50px;
    }

}

@media print,
screen and (min-width: 1090px) {

    .BtnM {
        width: 40%;
        padding: 12px 15px;
    }
}



/* ■ ページネーション ==================================================================================== */

.PageNation li a {
    display: block;
    border-radius: 2px;
}

.PageNation li.Prev a,
.PageNation li.Next a {
    position: relative;
    border: 1px solid #1567a6;
    text-indent: -9999px;
    background-color: #1567a6;
}

.PageNation li.Prev a:before,
.PageNation li.Next a:before {
    display: block;
    position: absolute;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -5px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    content: '';
}

.PageNation li.Prev a:before {
    left: 45%;
    -ms-transform: rotate(225deg);
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}

.PageNation li.Next a:before {
    right: 45%;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media only screen and (max-width: 767px) {

    .PageNation {
        margin-top: 20px;
    }

    .PageNation .Num {
        margin-bottom: -33px;
        font-size: 86%;
        text-align: center;
    }

    .PageNation li:not(.Prev):not(.Next) {
        display: none;
    }

    .PageNation li a {
        padding: 12px 18px;
        border: 1px solid #1567a6;
        line-height: 1.0em;
        text-indent: -9999px;
    }

    .PageNation li.Prev {
        float: left;
    }

    .PageNation li.Next {
        float: right;
    }

}

@media print,
screen and (min-width: 767px) {

    .PageNation .Num {
        float: left;
        padding: 12px 0;
        line-height: 1.0em;
    }

    .PageNation ul {
        float: right;
    }

    .PageNation li {
        float: left;
        margin-left: 5px;
        line-height: 1.0em;
    }

    .PageNation li a {
        float: left;
        padding: 8px 12px;
        border: 1px solid #ccc;
    }

    .PageNation li a:link,
    .PageNation li a:active,
    .PageNation li a:visited {
        text-decoration: none;
    }

    .PageNation li.Current a {
        border: 1px solid #ccc;
        font-weight: bold;
        color: #000;
        background: #f2f2f2;
    }

    .PageNation li.Prev {
        margin-right: 10px;
    }

    .PageNation li.Prev a {
        padding: 8px 20px;
    }

    .PageNation li.Next {
        margin-left: 15px;
    }

    .PageNation li.Next a {
        padding: 8px 20px;
    }

    .PageNation .Abbr {
        display: block;
        padding: 9px 2px;
    }

}

@media print,
screen and (min-width: 1090px) {}



/* ■ 検索窓 ==================================================================================== */

.SearchBox .SearchTxt {
    width: 80%;
    padding: 0 10px;
    box-shadow: inset 1px 1px 1px 0px #d5d5d5;
    box-sizing: border-box;
    vertical-align: middle;
    background: #fff;
}

.SearchBox .BtnSearch {
    width: 20%;
    padding: 0 10px;
    border: 1px solid #000;
    border-radius: 0 5px 5px 0;
    box-sizing: border-box;
    letter-spacing: 0.2em;
    vertical-align: middle;
    color: #fff;
    background: #000;
}

@media only screen and (max-width: 767px) {

    .SearchBox .SearchTxt {
        height: 3em;
        border: 1px solid #bbb;
        border-radius: 5px 0 0 5px;
    }

    .SearchBox .BtnSearch {
        height: 3em;
        box-sizing: border-box;
        appearance: none;
        -moz-appearance: none;
        -webkit-appearance: none;
    }

}

@media print,
screen and (min-width: 767px) {

    .SearchBox .SearchTxt {
        height: 2.4em;
        border-top: 1px solid #bbb;
        border-right: none;
        border-bottom: 1px solid #bbb;
        border-left: 1px solid #bbb;
        border-radius: 5px 0 0 5px;
        line-height: 2.4em;
    }

    .Win .SearchBox .SearchTxt {
        line-height: 2.2em;
    }

    .SearchBox .BtnSearch {
        height: 2.4em;
        line-height: 2.2em;
    }

}

@media print,
screen and (min-width: 1090px) {}





/* ■ テキスト回り込み ==================================================================================== */


@media only screen and (max-width: 767px) {

    .flex>p {
        width: 100%;
        margin-bottom: 15px;
    }

    .flex>img {
        width: 100%;
    }

}

@media print,
screen and (min-width: 767px) {

    .flex {
        display: flex;
        justify-content: space-between;
    }

    .flex>p {
        width: 67%;
    }

    .flex>img {
        width: 30%;
    }

}

@media print,
screen and (min-width: 1090px) {}




/* ■ フォーム ==================================================================================== */

/*
基本ユニット
リード・注釈等
エラーチップ
アクションボタン
入力欄のスタイル
入力欄のサイズ
セレクトボックス装飾
ラジオボタン・チェックボックス装飾
完了画面
*/


/* 基本ユニット --------------------------------------------------- */

/* 項目欄の背景色（カラー設定） */
.FormUnit dt {
    background: #eee;
}

/* レイアウト設定 */
.FormUnit {
    margin-bottom: 30px;
}

/* 必須アイコン */
.FormUnit .Required {
    display: block;
    position: relative;
}

.FormUnit .Required:before {
    position: absolute;
    right: 0;
    padding: 5px 10px;
    border-radius: 2px;
    letter-spacing: 0.15em;
    text-align: center;
    color: #fff;
    background: #e90000;
    content: "必須";
}

@media only screen and (max-width: 767px) {

    /* 項目欄のborder色（カラー設定） */
    .FormUnit dt {
        border-top: 1px solid #bbb;
    }

    /* レイアウト設定 */
    .FormUnitWrap {}

    .FormUnit dt,
    .FormUnit dd {
        margin: 0;
    }

    .FormUnit dt {
        padding: 6px 15px;
        font-size: 93%;
        font-weight: bold;
    }

    .FormUnit dd {
        padding: 12px 0 20px 0;
    }

    .FormUnit dd p {
        margin: 0 15px;
    }

    /* 必須アイコン */
    .FormUnit dt span:before {
        top: 1px;
        font-size: 93%;
        line-height: 1.1em;
    }

}

@media print,
screen and (min-width: 767px) {

    /* border色（カラー設定） */
    .FormUnitWrap {
        border-left: solid 1px #ccc;
        border-top: solid 1px #ccc;
    }

    .FormUnit dt,
    .FormUnit dd {
        border-right: solid 1px #ccc;
        border-bottom: solid 1px #ccc;
    }

    /* レイアウト設定 */
    .FormUnit dl {
        display: table;
        width: 100%;
    }

    .FormUnit dt,
    .FormUnit dd {
        display: table-cell;
        padding: 15px;
        vertical-align: top;
    }

    .FormUnit dt {
        width: 30%;
        font-weight: bold;
    }

    .FormUnit dd {
        width: 70%;
    }

    /* 必須アイコン */
    .FormUnit dt span:before {
        top: 0;
        font-size: 86%;
        line-height: 1.0em;
    }

}

@media print,
screen and (min-width: 1090px) {}

/* リード・注釈等  --------------------------------------------------- */

/* 単位 */
.FormUnit .NoteUnit {
    margin-left: 6px;
    vertical-align: middle;
}

/* 注釈 */
.FormUnit .NoteUpper {
    margin-bottom: 5px;
    font-size: 86%;
    line-height: 1.5em;
}

.FormUnit .NoteMiddle {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 86%;
    line-height: 1.5em;
}

.FormUnit .NoteLower {
    font-size: 86%;
    line-height: 1.0em;
    color: #808080;
}

.FormUnit .NoteSide {
    margin-left: 5px;
    font-size: 86%;
    color: #808080;
}

.FormUnit .KomeS {
    position: relative;
}

.FormUnit .KomeS:before {
    position: absolute;
    display: inline-block;
    top: 0;
    left: 0;
    content: '※';
}

@media only screen and (max-width: 767px) {

    .FormUnit .KomeS {
        display: block;
        margin-top: 5px;
        padding-left: 15px;
        font-size: 86%;
        line-height: 1.6em;
    }

}

@media print,
screen and (min-width: 767px) {

    .FormUnit .KomeS {
        display: inline-block;
        margin-left: 5px;
        padding-left: 14px;
        font-size: 86%;
    }
}


/* フッターNote  */
.FormUnit .FootNote li {
    font-size: 86%;
    line-height: 1.5em;
}

@media only screen and (max-width: 767px) {

    .FormUnit .LeadMain {
        font-size: 86%;
        font-weight: bold;
    }

    .FormUnit .LeadUnit {
        margin: 0 15px 30px 15px;
    }

    .FormUnit .LeadUnit .LeadMain {
        margin: 0;
    }

    .FormUnit .LeadUnit .ListKomeS {
        margin-top: 8px;
    }

    /* サブリード  */
    .FormUnit .LeadSub {
        margin: 0 15px;
        font-size: 86%;
    }

    /* メッセージBOX：アラート */
    .FormUnit .MsgBoxAlert {
        margin: 0 15px 30px 15px;
    }

    .FormUnit .MsgBoxAlert .Mds {
        font-size: 108%;
    }

    .FormUnit .MsgBoxAlert .Msg {
        font-size: 100%;
    }

    .FormUnit .NoteLower {
        margin-top: 7px;
    }

    /* フッターNote  */
    .FormUnit .FootNote {
        margin: 0 15px 30px 15px;
    }

}

@media print,
screen and (min-width: 767px) {

    /* リード */
    .FormUnit .LeadUnit {
        margin-bottom: 40px;
    }

    .FormUnit .LeadMain {
        margin-bottom: 40px;
    }

    .FormUnit .LeadUnit .LeadMain {
        margin-bottom: 20px;
    }

    .FormUnit .LeadSub {}

    .FormUnit .NoteLower {
        margin-top: 8px;
    }

    /* フッターNote  */
    .FormUnit .FootNote {
        margin-top: 10px;
        margin-bottom: 30px;
    }

}

@media print,
screen and (min-width: 1090px) {}

/* エラーチップ（カラー設定）  --------------------------------------------------- */

.FormUnit .ErrTip {
    display: inline-block;
    position: relative;
    border-radius: 5px;
    color: #ffffff;
    background: #e90000;
}

.FormUnit .ErrTip:after {
    position: absolute;
    left: 25px;
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-top: 10px solid #e90000;
    margin-left: -10px;
    content: "";
}

@media only screen and (max-width: 767px) {

    .FormUnit .ErrTip {
        margin-bottom: 15px;
        padding: 5px 10px 5px 15px;
        line-height: 1.5em !important;
    }

    .FormUnit .ErrTip:after {
        top: 96%;
    }

}

@media print,
screen and (min-width: 767px) {

    .FormUnit .ErrTip {
        margin-bottom: 20px;
        padding: 6px 10px 6px 15px;
        line-height: 1.6em !important;
    }

    .FormUnit .ErrTip:after {
        top: 92%;
    }

    .FormUnit .RadioCheckboxUnit .ErrTip {
        margin-bottom: 15px;
    }

}

@media print,
screen and (min-width: 1090px) {}

/* アクションボタン  --------------------------------------------------- */

.FormUnit .FormAction {
    text-align: center;
}

.FormUnit .FormAction input {
    border-style: none;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.FormUnit .FormAction button {
    border-style: none;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.FormUnit .FormAction .BtnNext {
    display: block;
    box-sizing: border-box;
    border: 1px solid #e3adbf;
    background: #fff url(../images/Icon_LinkAllow1.png) no-repeat;
    background-size: 19.5px auto;
    background-position: 97% 50%;
    line-height: 1.0em;
    color: #b9335f;
}

.FormUnit .FormAction .BtnBack {
    display: block;
    box-sizing: border-box;
    border: 1px solid #e3adbf;
    background: #eee url(../images/Icon_LinkAllowBack1.png) no-repeat;
    background-size: 19.5px auto;
    background-position: 3% 50%;
    line-height: 1.0em;
    color: #000;
}

@media only screen and (max-width: 767px) {

    .FormUnit .FormAction {
        margin: 0 15px;
    }

    .FormUnit .FormAction .BtnList {
        width: 100%;
    }

    .FormUnit .FormAction .BtnList li {
        float: none;
        width: 100%;
    }

    .FormUnit .FormAction .BtnNext {
        width: 100%;
        margin-top: 15px;
        padding: 15px;
        font-size: 115%;
    }

    .FormUnit .FormAction .BtnBack {
        width: 100%;
        margin-top: 15px;
        padding: 15px;
        font-size: 115%;
    }

}

@media print,
screen and (min-width: 767px) {

    .FormUnit .FormAction {
        margin: 30px auto 0 auto;
    }

    .FormUnit .FormAction .BtnLine {
        width: 35%;
        margin: 0 auto;
    }

    .FormUnit .FormAction .BtnList {
        width: 60%;
        margin: 0 auto;
    }

    .FormUnit .FormAction .BtnList li {
        width: 48%;
        margin-right: 4%;
    }

    .FormUnit .FormAction .BtnList li:nth-child(2n) {
        margin-right: 0;
    }

    .FormUnit .FormAction .BtnNext {
        width: 100%;
        margin: 0 auto;
        padding: 15px 0;
        font-size: 108%;
    }

    .FormUnit .FormAction .BtnBack {
        width: 100%;
        margin: 0 auto;
        padding: 15px 0;
        font-size: 108%;
    }

    .FormUnit .FormAction input:hover {
        opacity: 0.9;
        -webkit-transition: all 0.05s cubic-bezier(.17, .67, .83, .67) 0s;
        transition: all 0.05s cubic-bezier(.17, .67, .83, .67) 0s;
    }

    .FormUnit .FormAction .BtnLeft {
        float: left;
    }

    .FormUnit .FormAction .BtnRight {
        float: right;
    }

}

@media print,
screen and (min-width: 1090px) {}

/* 入力欄のスタイル  --------------------------------------------------- */

/*  border色とシャドー（カラー設定） */
.FormUnit input[type=text],
.FormUnit input[type=email],
.FormUnit input[type=tel],
.FormUnit input[type=password],
.FormUnit textarea {
    border: 1px solid #bbb;
    box-shadow: inset 1px 1px 1px 0px #d5d5d5;
}

.FormUnit input[type=text],
.FormUnit input[type=email],
.FormUnit input[type=tel],
.FormUnit input[type=password],
.FormUnit textarea {
    border-radius: 2px;
    box-sizing: border-box;
    vertical-align: middle;
    background: #fff;
}

.FormUnit textarea {
    padding: 8px;
    line-height: 1.4em;
}

.FormUnit input[type=image] {
    vertical-align: middle;
}

/* labelの余白 */
.FormUnit label {
    margin: 0 20px 0 5px;
}

/* 住所入力 */
.FormUnit .AddressUnit label {
    display: block;
    line-height: 1.0em;
    font-weight: bold;
}


@media only screen and (max-width: 767px) {

    /*  border色とシャドー（カラー設定） */
    .FormUnit input[type=text],
    .FormUnit input[type=email],
    .FormUnit input[type=tel],
    .FormUnit input[type=password],
    .FormUnit textarea {
        font-size: 115%;
    }

    .FormUnit input[type=text],
    .FormUnit input[type=email],
    .FormUnit input[type=tel],
    .FormUnit input[type=password],
    .FormUnit textarea {
        padding: 10px 10px;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
    }

    .FormUnit textarea {
        font-size: 115%;
    }

    /* 住所入力 */
    .FormUnit .AddressUnit .EachUnit {
        margin-bottom: 15px;
    }

    .FormUnit .AddressUnit .EachUnit:last-child {
        margin-bottom: 0;
    }

    .FormUnit .AddressUnit label {
        margin-left: 15px;
        margin-right: 10px;
        margin-bottom: 8px;
    }

    /* ラジオボタン・セレクトボックス */
    .FormUnit .RadioCheckboxUnit p {
        margin-bottom: 15px;
    }

    .FormUnit .RadioCheckboxUnit p:last-child {
        margin-bottom: 0;
    }

}

@media print,
screen and (min-width: 767px) {

    /*  border色とシャドー（カラー設定） */
    .FormUnit input[type=text],
    .FormUnit input[type=email],
    .FormUnit input[type=tel],
    .FormUnit input[type=password],
    .FormUnit textarea {
        -webkit-transition: all 0.1s cubic-bezier(.17, .67, .83, .67) 0.1s;
        transition: all 0.1s cubic-bezier(.17, .67, .83, .67) 0.1s;
    }

    .FormUnit input[type=text],
    .FormUnit input[type=email],
    .FormUnit input[type=tel],
    .FormUnit input[type=password],
    .FormUnit textarea {
        height: 2.4em;
        padding: 0 10px;
        line-height: 2.4em;
    }

    /* フォーカス時のスタイル（カラー設定）  */
    .FormUnit input[type=text]:focus,
    .FormUnit textarea:focus {
        background: #f7f7f7;
        -webkit-transition: all 0.1s cubic-bezier(.17, .67, .83, .67) 0.1s;
        transition: all 0.1s cubic-bezier(.17, .67, .83, .67) 0.1s;
    }

    /* 住所入入力 */
    .FormUnit .AddressUnit .EachUnit {
        margin-bottom: 20px;
    }

    .FormUnit .AddressUnit .EachUnit:last-child {
        margin-bottom: 0;
    }

    .FormUnit .AddressUnit label {
        margin-left: 0;
        margin-bottom: 10px;
    }

    .FormUnit .AddressUnit p {
        line-height: 1.2em;
    }

    /* ラジオボタン・セレクトボックス */
    .FormUnit .RadioCheckboxUnit p {
        margin-bottom: 3px;
    }

    .FormUnit .RadioCheckboxUnit p:last-child {
        margin-bottom: 0;
    }

}

@media print,
screen and (min-width: 1090px) {}

/* 入力欄のサイズ --------------------------------------------------- */

@media only screen and (max-width: 767px) {

    .FormUnit .InputCounselingNumbers {
        width: 100%;
    }

    .FormUnit .InputName {
        width: 100%;
    }

    .FormUnit .InputMail {
        width: 100%;
    }

    .FormUnit .InputZipCode {
        width: 150px;
    }

    .InputAddress1 {}

    .FormUnit .InputAddress2,
    .FormUnit .InputAddress3 {
        width: 100%;
    }

    .FormUnit .InputTel {
        width: 150px;
    }

    .FormUnit .InputAge {
        width: 60px;
    }

    .FormUnit .InputComment {
        width: 100%;
        height: 10em;
    }

}

@media print,
screen and (min-width: 767px) {

    .FormUnit .InputCounselingNumbers {
        width: 40%;
    }

    .FormUnit .InputName {
        width: 40%;
    }

    .FormUnit .InputMail {
        width: 70%;
    }

    .FormUnit .InputZipCode {
        width: 30%;
    }

    .InputAddress1 {}

    .FormUnit .InputAddress2,
    .FormUnit .InputAddress3 {
        width: 70%;
    }

    .FormUnit .InputTel {
        width: 40%;
    }

    .FormUnit .InputAge {
        width: 10%;
    }

    .FormUnit .InputComment {
        width: 80%;
        height: 10em;
    }

}

@media print,
screen and (min-width: 1090px) {}

/* セレクトボックス装飾 --------------------------------------------------- */

/* border色（カラー設定） */
.FormUnit select {
    border: 1px solid #bbb;
}

.FormUnit select {
    border-radius: 2px;
    box-sizing: border-box;
    background: #fff url(../images/Icon_SelectBox.png) no-repeat center right;
    background-size: 25px 40px;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.SelectBoxS select {
    height: 2.0em;
    font-size: 93%;
}

@media only screen and (max-width: 767px) {

    .FormUnit select {
        height: 3.0em;
        padding-left: 10px;
        padding-right: 50px;
    }

}

@media print,
screen and (min-width: 767px) {

    .FormUnit select {
        height: 2.4em;
        padding-left: 10px;
        padding-left: 6px\9;
        /* IE10以下調整 */
        padding-right: 40px;
        padding-right: 0\9;
        /* IE10以下調整 */
        background: #fff\9;
        /* IE10以下調整 */
    }

}

@media print,
screen and (min-width: 1090px) {}

/* Firefox用調整 */
@-moz-document url-prefix() {
    .FormUnit select {
        padding-left: 6px;
    }
}

/* IE11用調整 */
@media all and (-ms-high-contrast:none) {

    *::-ms-backdrop,
    .FormUnit select {
        padding-left: 6px;
        padding-right: 0;
        background: #fff;
    }
}


/* ラジオボタン・チェックボックス装飾 --------------------------------------------------- */

.FormUnit input[type=radio]+label,
.FormUnit input[type=checkbox]+label {
    position: relative;
    margin-right: 12px;
    padding: 0 0 0 32px;
    cursor: pointer;
}

.FormUnit input[type=radio]+label::before,
.FormUnit input[type=checkbox]+label::before {
    display: block;
    position: absolute;
    top: 11px;
    left: 0;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    content: "";
}

/* border色とシャドー（カラー設定） */
.FormUnit input[type=radio]+label::before,
.FormUnit input[type=checkbox]+label::before {
    border: 1px solid #bbb;
    box-shadow: inset 1px 1px 1px 0px #d5d5d5;
}

.FormUnit input[type=radio]+label::before {
    border-radius: 30px;
}

.FormUnit input[type=checkbox]+label::before {
    border-radius: 2px;
}

/* 選択時の背景色（カラー設定） */
.FormUnit input[type=radio]:checked+label::before,
.FormUnit input[type=checkbox]:checked+label::before {
    background: #777;
}

.FormUnit input[type=radio]:checked+label::before,
.FormUnit input[type=checkbox]:checked+label::before {
    border: none;
    box-shadow: none;
}

.FormUnit input[type=radio]:checked+label::after,
.FormUnit input[type=checkbox]:checked+label::after {
    content: "";
    display: block;
    position: absolute;
    top: 11px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* ラジオボタン選択時の中央ドットの色 */
.FormUnit input[type=radio]:checked+label::after {
    background: #fff;
}

/* チェックボックス選択時のチェックマークの色 */
.FormUnit input[type=checkbox]:checked+label::after {
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

@media only screen and (max-width: 767px) {

    .FormUnit input[type=radio],
    .FormUnit input[type=checkbox] {
        display: none;
        margin: 0 0 0 -10px;
    }

    .FormUnit input[type=radio]+label,
    .FormUnit input[type=checkbox]+label {
        display: inline-block;
        padding: 0 0 0 32px;
        line-height: 1.6em;
    }

    .FormUnit input[type=radio]+label::before,
    .FormUnit input[type=checkbox]+label::before {
        width: 24px;
        height: 24px;
        margin-top: -13px;
    }

    /* 選択時の背景色（カラー設定） */
    .FormUnit input[type=radio]:checked+label::after,
    .FormUnit input[type=checkbox]:checked+label::after {
        top: 11px;
    }

    /* ラジオボタン選択時の中央ドットのサイズ・位置 */
    .FormUnit input[type=radio]:checked+label::after {
        left: 6px;
        width: 12px;
        height: 12px;
        margin-top: -7px;
        border-radius: 8px;
    }

    /* チェックボックス選択時のチェックマークのサイズ・位置 */
    .FormUnit input[type=checkbox]:checked+label::after {
        left: 5px;
        width: 15px;
        height: 10px;
        margin-top: -8px;
    }

}

@media print,
screen and (min-width: 767px) {

    .FormUnit input[type=radio],
    .FormUnit input[type=checkbox] {
        margin-right: 6px;
        -webkit-transition: all 0.1s cubic-bezier(.17, .67, .83, .67) 0.1s;
        transition: all 0.1s cubic-bezier(.17, .67, .83, .67) 0.1s;
    }

    .FormUnit input[type=radio]+label,
    .FormUnit input[type=checkbox]+label {
        font-size: 14px;
        line-height: 1.7em;
    }

    .FormUnit input[type=radio],
    .FormUnit input[type=checkbox] {
        display: none;
        margin: 0 0 0 -10px;
    }

    .FormUnit input[type=radio]+label,
    .FormUnit input[type=checkbox]+label {
        display: inline-block;
        padding: 0 0 0 24px;
    }

    .FormUnit input[type=radio]+label::before,
    .FormUnit input[type=checkbox]+label::before {
        width: 18px;
        height: 18px;
        margin-top: -9px;
    }

    /* border色とシャドー（カラー設定） */
    .FormUnit input[type=radio]+label::before,
    .FormUnit input[type=checkbox]+label::before {
        -webkit-transition: all 0.1s cubic-bezier(.17, .67, .83, .67) 0.1s;
        transition: all 0.1s cubic-bezier(.17, .67, .83, .67) 0.1s;
    }

    /* 選択時の背景色（カラー設定） */
    .FormUnit input[type=radio]:checked+label::after,
    .FormUnit input[type=checkbox]:checked+label::after {
        top: 12px;
    }

    /* ラジオボタン選択時の中央ドットのサイズ・位置 */
    .FormUnit input[type=radio]:checked+label::after {
        left: 5px;
        width: 8px;
        height: 8px;
        margin-top: -5px;
        border-radius: 8px;
    }

    /* チェックボックス選択時のチェックマークのサイズ・位置 */
    .FormUnit input[type=checkbox]:checked+label::after {
        left: 4px;
        width: 12px;
        height: 7px;
        margin-top: -6px;
    }

}

@media print,
screen and (min-width: 1090px) {}

/* 完了画面 --------------------------------------------------- */

@media only screen and (max-width: 767px) {

    .FormUnit .BtnHome {
        margin: 0 10px;
    }

    /* ボタン：通常（他のページ、次のページに移動など） */
    /*
	.FormUnit .BtnNext {
	display: block;
	width: 100%;
	padding: 20px 0;
	text-align: center;
	}
	
*/
    /* メッセージBOX：通常 */
    .FormUnit .MsgBoxNormal {
        margin: 30px 10px;
    }

    .FormUnit .MsgBoxNormal .Mds {
        font-size: 108%;
    }

    .FormUnit .BtnRight {
        margin-bottom: 20px;
    }

}

@media print,
screen and (min-width: 767px) {

    .FormUnit .BtnHome {
        margin-top: 60px;
        text-align: center;
    }

    .FormUnit .MsgBox {
        text-align: center;
    }

    /* ボタン：通常（他のページ、次のページに移動など） */
    .FormUnit .BtnHome .BtnNext {
        display: block;
        width: 35%;
        margin: 0 auto;
        padding: 15px 0;
        box-sizing: border-box;
        border: 1px solid #e3adbf;
        background: #fff url(../images/Icon_LinkAllow1.png) no-repeat;
        background-size: 19.5px auto;
        background-position: 97% 50%;
        font-size: 108%;
        line-height: 1.0em;
        color: #b9335f;
    }

    /*
	.FormUnit .BtnNext {
	padding: 16px 30px;
	}
*/

}

@media print,
screen and (min-width: 1090px) {}