@charset "UTF-8";

body {
    color: rgb(80, 80, 80);
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO", sans-serif;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.8;
    word-wrap: break-word;
    font-feature-settings: "pkna"1;
    letter-spacing: 0.06em;
}

p {
    text-align: justify;
}

a {
    color: rgb(150, 150, 150);
    text-decoration: none;
}

input::placeholder {
    color: rgb(210, 210, 210);
}

input:focus,
textarea:focus {
    outline: 0;
    border: 2px solid rgb(250, 145, 165);
}

button:focus {
    outline: 0;
    border: 0;
}

/*▼▼header▼▼pc*/
.home #header {
    padding: 3% 0;
    background-image: url(../img/bg_header.png);
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
}

.home #header > div:nth-child(1) {
    width: 96%;
    max-width: 1280px;
    margin: 0 auto;
}

.home #header > div:nth-child(1) > h2 {
    margin-bottom: 15px;
    font-size: 18px;
    color: #fff;
    letter-spacing: 3px;
    text-align: center;
}

.home #header > div:nth-child(1) > h3 {
    width: 120px;
    margin: 0 auto 24px;
}

.home #header > div:nth-child(1) > h1 {
    margin-bottom: 15px;
    font-size: 24px;
    color: rgb(250, 145, 165);
    letter-spacing: 3px;
    text-align: center;
}

.home #header > div:nth-child(1) > p {
    color: #fff;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 3px;
}

.home #header .user_info {
    width: 180px;
    position: absolute;
    top: 30px;
    right: 30px;
}

.home #header .user_info > a {
    padding: 15px 0;
    border: 2px solid rgb(250, 145, 165);
    border-radius: 6px;
    color: rgb(250, 145, 165);
    line-height: 1;
    font-weight: bold;
    text-align: center;
    background-color: #fff;
    display: block;
}

.home #header .user_info > a:first-child {
    margin-bottom: 15px;
}

.home #header .user_info > a:hover {
    color: #fff;
    background-color: rgb(250, 145, 165);
}

body:not(.home) #header > div {
    width: 93%;
    max-width: 1280px;
    padding: 1%;
    margin: 0 auto;
}

body:not(.home) #header > div > h2 {
    width: 18%;
    float: left;
}

body:not(.home) #header > div > .user_info {
    width: 36%;
    float: right;
}

body:not(.home) #header > div > .user_info > a {
    width: 48%;
    padding: 4% 0;
    border: 2px solid rgb(250, 145, 165);
    border-radius: 5px;
    color: rgb(250, 145, 165);
    font-weight: bold;
    line-height: 1;
    background-color: #fff;
    text-align: center;
    display: block;
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

body:not(.home) #header > div > .user_info > a:first-child {
    margin-right: 4%;
}

body:not(.home) #header > div > .user_info > a:hover {
    color: #fff;
    background-color: rgb(250, 145, 165);
}

/*▼▼nav▼▼pc*/
#nav {
    width: 100%;
    padding: 15px 0;
    background-color: rgb(250, 145, 165);
}

#nav.fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5959;
}

#nav > ul {
    width: 93%;
    max-width: 1280px;
    margin: 0 auto;
}

#nav > ul > li {
    width: 16.66%;
    border-right: 2px solid #fff;
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

#nav > ul > li:first-child {
    border-left: 2px solid #fff;
}

#nav > ul > li > a {
    color: #fff;
    text-align: center;
    line-height: 1;
    font-size: 15px;
    display: block;
}

#nav > ul > li > a:hover {
    opacity: 0.8;
}

#nav > ul > li > a > span {
    width: 36px;
    margin: 0 auto 12px;
    display: block;
}

/*▼▼content▼▼pc*/
#content {
    width: 93%;
    max-width: 1280px;
    padding: 6% 0 12%;
    margin: 0 auto;
}

body.home #content > div {
    margin-bottom: 6%;
}

body.home #content > div:last-child {
    margin-bottom: 0;
}

body.home #content > div h2 {
    margin-bottom: 6%;
    font-size: 21px;
    line-height: 1;
    text-align: center;
}

body:not(.home) #content > h2 {
    margin-bottom: 6%;
    text-align: center;
}

body:not(.home) #content > h2 > span {
    padding-bottom: 10px;
    border-bottom: 2px solid rgb(250, 145, 165);
    font-size: 26px;
    display: inline-block;
}

/*▼▼footer▼▼pc*/
#footer {
    padding: 3% 0;
    background-color: rgb(250, 145, 165);
}

#footer > div {
    width: 93%;
    max-width: 1280px;
    margin: 0 auto;
}

#footer > div > p {
    width: 8%;
    margin-right: 10%;
    float: left;
}

#footer > div > ul:nth-child(2) {
    width: 60%;
    float: left;
}

#footer > div > ul:nth-child(2) > li {
    margin-bottom: 6px;
}

#footer > div > ul:nth-child(2) > li > a {
    line-height: 1;
    color: #fff;
    text-decoration: underline;
}

#footer > div > ul:nth-child(2) > li > a:hover {
    text-decoration: none;
}

#footer > div > ul:nth-child(3) {
    width: 20%;
    float: right;
}

#footer > div > ul:nth-child(3) > li {
    margin-bottom: 6%;
}

#footer > div > ul:nth-child(3) > li:last-child {
    margin-bottom: 0;
}

#footer > div > ul:nth-child(3) > li > a {
    padding: 6% 0;
    border-radius: 3px;
    color: rgb(250, 145, 165);
    text-align: center;
    line-height: 1;
    background-color: #fff;
    display: block;
}

#footer > div > ul:nth-child(3) > li > a:hover {}

/*▼▼copyright▼▼pc*/
#copyright {
    padding: 30px 0;
    border-top: 1px solid rgb(252, 246, 248);
    font-size: 10px;
    color: #fff;
    text-align: center;
    line-height: 1;
    background-color: rgb(250, 145, 165);
    letter-spacing: 3px;
}

/*▼▼トップにスクロール▼▼pc*/
#goup {
    width: 50px;
    height: 50px;
    background-image: url(../img/scroll.gif);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 9999;
}

#goup:hover {
    background-image: url(../img/scroll_on.gif);
}

/*===============================
//
MAXWIDTH / 768
//
===============================*/

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


    /*▼▼header▼▼tb*/
    .home #header {
        padding: 5% 0;
        background-image: url(../img/bg_header.png);
        background-size: auto 100%;
        background-position: right top;
    }

    .home #header > div:nth-child(1) {
        width: 98%;
    }

    .home #header > div:nth-child(1) > h2 {
        margin-bottom: 18px;
    }

    .home #header > div:nth-child(1) > h3 {
        width: 120px;
        margin: 0 auto 20px;
    }

    .home #header > div:nth-child(1) > h1 {
        margin-bottom: 12px;
        font-size: 26px;
    }

    .home #header > div:nth-child(1) > p {
        line-height: 1.9;
    }

    .home #header .user_info {
        width: 150px;
        top: 20px;
        right: 20px;
    }

    .home #header .user_info > a:first-child {
        margin-bottom: 10px;
    }

    body:not(.home) #header > div {
        width: 96%;
        padding: 2% 0;
    }

    body:not(.home) #header > div > h2 {
        width: 25%;
    }

    body:not(.home) #header > div > .user_info {
        width: 40%;
    }

    /*▼▼nav▼▼tb*/
    #nav {
        padding: 12px 0;
    }

    #nav > ul {
        width: 100%;
    }

    #nav > ul > li {
        border-right: 1px solid #fff;
    }

    #nav > ul > li:first-child {
        border-left: none;
    }

    #nav > ul > li:last-child {
        border-right: none;
    }

    #nav > ul > li > a {
        font-size: 14px;
    }

    #nav > ul > li > a > span {
        margin: 0 auto 9px;
    }

    /*▼▼content▼▼pc*/
    #content {
        width: 94%;
        padding: 8% 0 12%;
    }

    body.home #content > div {
        margin-bottom: 12%;
    }

    body.home #content > div h2 {
        margin-bottom: 6%;
    }

    body:not(.home) #content > h2 {
        margin-bottom: 9%;
    }

    body:not(.home) #content > h2 > span {
        padding-bottom: 10px;
        font-size: 21px;
    }

    /*▼▼footer▼▼pc*/
    #footer {
        padding: 6% 0;
    }

    #footer > div {
        width: 94%;
    }

    #footer > div > p {
        width: 12%;
        margin-right: 9%;
    }

    #footer > div > ul:nth-child(2) {
        width: 40%;
    }

    #footer > div > ul:nth-child(2) > li {
        margin-bottom: 9px;
    }

    #footer > div > ul:nth-child(3) {
        width: 30%;
    }

    #footer > div > ul:nth-child(3) > li {
        margin-bottom: 18px;
    }

    #footer > div > ul:nth-child(3) > li:nth-child(3) {
        margin-bottom: 0;
    }

    #footer > div > ul:nth-child(3) > li > a {
        padding: 9% 0;
    }

    /*▼▼copyright▼▼pc*/
    #copyright {
        padding: 24px 0;
        font-size: 12px;
        letter-spacing: 0.1em;
    }


}

/*===============================
//
MAXWIDTH / 480
//
===============================*/

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

    /*▼▼header▼▼pc*/
    .home #header {
        padding: 8% 0;
        background-image: url(../img/mb_bg_header.png);
        background-size: cover;
        bottom: 0;
        right: 0;
    }

    .home #header > div:nth-child(1) > h2 {
        margin-bottom: 15px;
        font-size: 16px;
    }

    .home #header > div:nth-child(1) > h3 {
        width: 90px;
        margin: 0 auto 18px;
    }

    .home #header > div:nth-child(1) > h1 {
        margin-bottom: 12px;
        font-size: 15px;
        letter-spacing: 2px;
    }

    .home #header > div:nth-child(1) > p {
        font-size: 13px;
        line-height: 2;
        letter-spacing: 2px;
    }

    body.home #header .user_info,
    body:not(.home) #header > div > .user_info {
        width: 100%;
        padding: 12px;
        border-top: 1px solid #fff;
        background-color: rgb(250, 145, 165);
        float: none;
        position: fixed;
        top: auto;
        bottom: 0;
        left: 0;
        z-index: 1000;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        -o-box-sizing: border-box;
        box-sizing: border-box;
    }

    body.home #header .user_info > a,
    body:not(.home) #header .user_info > a {
        width: 48%;
        padding: 15px 0;
        border: none;
        color: rgb(250, 145, 165);
        background-color: #fff;
        float: left;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        -o-box-sizing: border-box;
        box-sizing: border-box;
    }

    body.home #header .user_info > a:first-child,
    body:not(.home) #header .user_info > a:first-child {
        margin-right: 4%;
        margin-bottom: 0;
    }

    /*下層ページロゴ*/
    body:not(.home) #header > div {
        padding: 0;
        margin-top: 12px;
    }

    body:not(.home) #header > div > h2 {
        line-height: 1;
        float: none;
    }

    body:not(.home) #header > div > h2 > a {
        line-height: 1;
        display: block;
    }

    body:not(.home) #header > div > h2 > a > img {
        width: auto;
        height: 34px;
    }

    /*モバイル用トグルメニュー*/
    #toggle_menu_btn {
        position: fixed;
        top: 12px;
        right: 12px;
        z-index: 1000;
    }

    #toggle_menu_btn > button {
        width: 36px;
        height: 27px;
        border-top: solid 2px rgb(100, 100, 100);
        border-bottom: solid 2px rgb(100, 100, 100);
        background: none;
        cursor: pointer;
        display: block;
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        -o-box-sizing: border-box;
        box-sizing: border-box;
    }

    #toggle_menu_btn :after {
        content: '';
        width: 100%;
        height: 2px;
        margin-top: -1px;
        background-color: rgb(100, 100, 100);
        display: block;
        position: absolute;
        left: 0;
        top: 50%;
    }

    #toggle_menu {
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.8);
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 900;
    }

    #toggle_menu > div {
        width: 100%;
        height: 100%;
        position: relative;
    }

    #toggle_menu > div > ul {
        padding: 0 2%;
        position: absolute;
        top: 50%;
        left: 0;
    }

    #toggle_menu > div > ul > li {
        width: 49%;
        margin-bottom: 10px;
        float: left;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        -o-box-sizing: border-box;
        box-sizing: border-box;
    }

    #toggle_menu > div > ul > li:nth-child(2n+1) {
        margin-right: 2%;
    }

    #toggle_menu > div > ul > li:nth-last-child(-n+2) {
        margin-bottom: 0;
    }

    #toggle_menu > div > ul > li > a {
        padding: 20px 0;
        border-right: 1px solid rgb(250, 145, 165);
        border-bottom: 1px solid rgb(250, 145, 165);
        line-height: 1;
        text-align: center;
        background-color: #fff;
        display: block;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        -o-box-sizing: border-box;
        box-sizing: border-box;
    }

    #mb_menu_mypage {
        width: auto;
        height: 30px;
        padding: 0 30px;
        border-radius: 30px;
        line-height: 30px;
        color: #fff;
        background-color: rgb(0, 190, 60);
        display: none;
        position: fixed;
        top: 12px;
        left: 12px;
        z-index: 1000;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        -o-box-sizing: border-box;
        box-sizing: border-box;
    }

    #mb_menu_mypage > i {
        margin-right: 6px;
    }

    /*▼▼content▼▼pc*/
    #content {
        padding: 10% 0 12%;
    }

    body:not(.home) #content > h2 {
        margin-bottom: 12%;
        text-align: center;
    }

    body:not(.home) #content > h2 > span {
        padding-bottom: 6px;
        font-size: 22px;
    }

    /*▼▼footer▼▼pc*/
    #footer {
        padding: 12% 0;
        background-color: rgb(250, 145, 165);
    }

    #footer > div {
        width: 93%;
    }

    #footer > div > p {
        width: 80px;
        margin-right: 0;
        margin: 0 auto 8%;
        float: none;
    }

    #footer > div > ul:nth-child(2) {
        width: 100%;
        overflow: hidden;
        float: none;
    }

    #footer > div > ul:nth-child(2) > li {
        width: 50%;
        margin-bottom: 12px;
        float: left;
    }

    #footer > div > ul:nth-child(2) > li:nth-last-child(-n+2) {
        margin-bottom: 0;
    }

    #footer > div > ul:nth-child(3) {
        display: none;
    }

    /*▼▼copyright▼▼pc*/
    #copyright {
        padding: 21px 0;
        letter-spacing: 0.1em;
    }

}


/*===============================
//
レスポンシブ｜表示・非表示
//
===============================*/

@media screen and (max-width:480px) {
    .pc {
        display: none
    }

    .tb {
        display: none
    }

    .mb {
        display: block
    }

    .pc_tb {
        display: none
    }

    .tb_mb {
        display: block
    }
}

@media screen and (min-width:481px) and (max-width:768px) {
    .pc {
        display: none
    }

    .tb {
        display: block
    }

    .mb {
        display: none
    }

    .pc_tb {
        display: block
    }

    .tb_mb {
        display: block
    }
}

@media screen and (min-width:769px) {
    .pc {
        display: block
    }

    .tb {
        display: none
    }

    .mb {
        display: none
    }

    .pc_tb {
        display: block
    }

    .tb_mb {
        display: none
    }
}

/*===============================
//
BREAKPOINT / ~480px
//
===============================*/
