/*----------------------------
import fonts
-----------------------------*/

/* ゴシック体 font-family: 'Noto Sans Japanese';*/
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/* 明朝体 font-family: 'Sawarabi Mincho';*/
@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);
/* ポップ font-family: 'Mplus 1p';*/
@import url(https://fonts.googleapis.com/earlyaccess/mplus1p.css);
/* 丸ゴシック font-family: 'Rounded Mplus 1c';*/
@import url(https://fonts.googleapis.com/earlyaccess/roundedmplus1c.css);
/* 
 * ------- commons ---------------------
 */


/*----------------------------
clearfix
-----------------------------*/

.clearfix:before, .clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
 *zoom: 1;
}
/*----------------------------
fonts
-----------------------------*/

/* Noto Sans Japanese */
.noto100 {
    font-weight: 100;
}
.noto200 {
    font-weight: 200;
}
.noto300 {
    font-weight: 300;
}
.noto400 {
    font-weight: 400;
}
.noto500 {
    font-weight: 500;
}
.noto700 {
    font-weight: 700;
}
.noto900 {
    font-weight: 900;
}
/*----------------------------
spacer
-----------------------------*/
 
/* padding */
.pt0 {
    padding-top: 0px!important;
}
.pt5 {
    padding-top: 5px!important;
}
.pt10 {
    padding-top: 10px!important;
}
.pt15 {
    padding-top: 15px!important;
}
.pt20 {
    padding-top: 20px!important;
}
.pt25 {
    padding-top: 25px!important;
}
.pt30 {
    padding-top: 30px!important;
}
.pt40 {
    padding-top: 40px!important;
}
.pt50 {
    padding-top: 50px!important;
}
.pt60 {
    padding-top: 60px!important;
}
.pt70 {
    padding-top: 70px!important;
}
.pt80 {
    padding-top: 80px!important;
}
.pt90 {
    padding-top: 90px!important;
}
.pt100 {
    padding-top: 100px!important;
}
.pb0 {
    padding-bottom: 0px!important;
}
.pb5 {
    padding-bottom: 5px!important;
}
.pb10 {
    padding-bottom: 10px!important;
}
.pb15 {
    padding-bottom: 15px!important;
}
.pb20 {
    padding-bottom: 20px!important;
}
.pb25 {
    padding-bottom: 25px!important;
}
.pb30 {
    padding-bottom: 30px!important;
}
.pb40 {
    padding-bottom: 40px!important;
}
.pb50 {
    padding-bottom: 50px!important;
}
.pb60 {
    padding-bottom: 60px!important;
}
.pb70 {
    padding-bottom: 70px!important;
}
.pb80 {
    padding-bottom: 80px!important;
}
.pb90 {
    padding-bottom: 90px!important;
}
.pb100 {
    padding-bottom: 100px!important;
}
.pl0 {
    padding-left: 0px!important;
}
.pl5 {
    padding-left: 5px!important;
}
.pl10 {
    padding-left: 10px!important;
}
.pl15 {
    padding-left: 15px!important;
}
.pl20 {
    padding-left: 20px!important;
}
.pl25 {
    padding-left: 25px!important;
}
.pl30 {
    padding-left: 30px!important;
}
.pl40 {
    padding-left: 40px!important;
}
.pl50 {
    padding-left: 50px!important;
}
.pr0 {
    padding-right: 0px!important;
}
.pr5 {
    padding-right: 5px!important;
}
.pr10 {
    padding-right: 10px!important;
}
.pr15 {
    padding-right: 15px!important;
}
.pr20 {
    padding-right: 20px!important;
}
.pr25 {
    padding-right: 25px!important;
}
.pr30 {
    padding-right: 30px!important;
}
.pr40 {
    padding-right: 40px!important;
}
.pr50 {
    padding-right: 50px!important;
}
/* margin */
.mt0 {
    margin-top: 0px!important;
}
.mt5 {
    margin-top: 5px!important;
}
.mt10 {
    margin-top: 10px!important;
}
.mt15 {
    margin-top: 15px!important;
}
.mt20 {
    margin-top: 20px!important;
}
.mt25 {
    margin-top: 25px!important;
}
.mt30 {
    margin-top: 30px!important;
}
.mt40 {
    margin-top: 40px!important;
}
.mt50 {
    margin-top: 50px!important;
}
.mt60 {
    margin-top: 60px!important;
}
.mt70 {
    margin-top: 70px!important;
}
.mt80 {
    margin-top: 80px!important;
}
.mt90 {
    margin-top: 90px!important;
}
.mt100 {
    margin-top: 100px!important;
}
.mb0 {
    margin-bottom: 0px!important;
}
.mb5 {
    margin-bottom: 5px!important;
}
.mb10 {
    margin-bottom: 10px!important;
}
.mb15 {
    margin-bottom: 15px!important;
}
.mb20 {
    margin-bottom: 20px!important;
}
.mb25 {
    margin-bottom: 25px!important;
}
.mb30 {
    margin-bottom: 30px!important;
}
.mb40 {
    margin-bottom: 40px!important;
}
.mb50 {
    margin-bottom: 50px!important;
}
.mb60 {
    margin-bottom: 60px!important;
}
.mb70 {
    margin-bottom: 70px!important;
}
.mb80 {
    margin-bottom: 80px!important;
}
.mb90 {
    margin-bottom: 90px!important;
}
.mb100 {
    margin-bottom: 100px!important;
}
.ml0 {
    margin-left: 0px!important;
}
.ml5 {
    margin-left: 5px!important;
}
.ml10 {
    margin-left: 10px!important;
}
.ml15 {
    margin-left: 15px!important;
}
.ml20 {
    margin-left: 20px!important;
}
.ml25 {
    margin-left: 25px!important;
}
.ml30 {
    margin-left: 30px!important;
}
.ml40 {
    margin-left: 40px!important;
}
.ml50 {
    margin-left: 50px!important;
}
.mr0 {
    margin-right: 0px!important;
}
.mr5 {
    margin-right: 5px!important;
}
.mr10 {
    margin-right: 10px!important;
}
.mr15 {
    margin-right: 15px!important;
}
.mr20 {
    margin-right: 20px!important;
}
.mr25 {
    margin-right: 25px!important;
}
.mr30 {
    margin-right: 30px!important;
}
.mr40 {
    margin-right: 40px!important;
}
.mr50 {
    margin-right: 50px!important;
}
/* padding */

.pt5em {
    padding-top: 0.5em!important;
}
.pt1em {
    padding-top: 1em!important;
}
.pt15em {
    padding-top: 1.5em!important;
}
.pt20em {
    padding-top: 2em!important;
}
.pt25em {
    padding-top: 2.5em!important;
}
.pt30em {
    padding-top: 3em!important;
}
.pt40em {
    padding-top: 4em!important;
}
.pt50em {
    padding-top: 5em!important;
}
.pb5em {
    padding-bottom: 0.5em!important;
}
.pb10em {
    padding-bottom: 1em!important;
}
.pb15em {
    padding-bottom: 1.5em!important;
}
.pb20em {
    padding-bottom: 2em!important;
}
.pb25em {
    padding-bottom: 2.5em!important;
}
.pb30em {
    padding-bottom: 3em!important;
}
.pb40em {
    padding-bottom: 4em!important;
}
.pb50em {
    padding-bottom: 5em!important;
}
/* margin */

.mt5em {
    margin-top: 0.5em!important;
}
.mt10em {
    margin-top: 1em!important;
}
.mt15em {
    margin-top: 1.5em!important;
}
.mt20em {
    margin-top: 2em!important;
}
.mt25em {
    margin-top: 2.5em!important;
}
.mt30em {
    margin-top: 3em!important;
}
.mt40em {
    margin-top: 4em!important;
}
.mt50em {
    margin-top: 5em!important;
}
.mb5em {
    margin-bottom: 0.5em!important;
}
.mb10em {
    margin-bottom: 1em!important;
}
.mb15em {
    margin-bottom: 1.5em!important;
}
.mb20em {
    margin-bottom: 2em!important;
}
.mb25em {
    margin-bottom: 2.5em!important;
}
.mb30em {
    margin-bottom: 3em!important;
}
.mb40em {
    margin-bottom: 4em!important;
}
.mb50em {
    margin-bottom: 5em!important;
}
/* 
 * ------- style base ---------------------
 */
 
 
/*----------------------------
general
-----------------------------*/

html {
}
body {
    font-size: 0.9rem;
    line-height: 1.8em;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
    margin: 0;
    padding: 0;
    color: #333;
    background: #fff;
    letter-spacing: 0.02em;
}
body.home {
    display: none;
}
.container {
    width: 100%;
    margin: 0 auto;
}
/* title */


h1 {
    font-size: 2.4rem;
    line-height: 1.2em;
}
h2 {
    font-size: 2rem;
    margin: .75em 0;
    line-height: 1.2em;
}
h3 {
    font-size: 1.38rem;
    line-height: 1.2em;
}
h4 {
    font-size: 1.1rem;
    margin: .5em 0;
    line-height: 1.2em;
}
h5 {
    font-size: 1.1em;
    margin: 1.5em 0
}
h6 {
    font-size: .75em;
    margin: 1.67em 0
}

@media screen and (max-width: 768px) {
body {
    font-size: 15px;
    line-height: 1.6em;
    letter-spacing: 0;
}
h1, h2, h3, h4, h5, h6 {
    letter-spacing: 0;
}
}

@media screen and (max-width: 420px) {
h1 {
    font-size: 2.4rem;
    line-height: 1.2em;
}
h2 {
    font-size: 1.4rem;
}
h3 {
    font-size: 1.1rem;
}
h4 {
    font-size: 1rem;
}
}
.content h2 {
    font-weight: 900;
    line-height: 1.3em;
    text-align: center;
    margin-bottom: 2em;
    position: relative;
}
.content h3 {
    font-weight: 900;
    line-height: 1.3em;
    text-align: center;
    margin-bottom: 1.5em;
}
.content h4 {
    font-weight: 700;
    line-height: 1.3em;
    text-align: left;
    margin-bottom: 1em;
    padding-bottom: 0.5em;
}
/* h3左寄せ */
.content h3.tx-left {
    text-align: left;
}
/* h4中央 */
.content h4.tx-center {
    text-align: center;
}
/* h3、h4 PCで左、タブレット以下中央 */
.content h3.tx-flex, .content h4.tx-flex {
    text-align: left;
}

@media screen and (max-width: 768px) {
.content h3.tx-flex, .content h4.tx-flex {
    text-align: center;
}
}

@media screen and (max-width: 420px) {
.content h2::after {
    width: 40%;
    margin-left: -20%;
}
}
/*----------------------------
header
-----------------------------*/


header {
    z-index: 1;
}
/*main-navi*/


.homeNavArea {
    width: 37.2vw;
    float: left;
    padding: 3vw 0 0 0;
}
.homeNavArea .main-nav {
    padding-top: 3.8vw;
}
.homeNavArea .logo {
    position: relative;
    width: 210px;
    height: 280px;
    left: 50%;
    margin-left: -100px;
    box-sizing: border-box;
}
.homeNavArea .logo-sp, .secondaryNavArea .logo-sp {
    display: none;
}
.homeNavArea .main-nav ul {
    margin: auto;
    position: relative;
}
.homeNavArea .main-nav ul li, .secondaryNavArea .main-nav ul li {
    margin: 0;
    width: auto;
    position: relative;
    font-size: 1.01rem;
    color: #333;
    text-align: center;
    padding: 0.9vw 0;
    box-sizing: border-box;
}
.homeNavArea .main-nav ul li.nav-home {
    display: none;
}
.homeNavArea .main-nav ul li a, .secondaryNavArea .main-nav ul li a {
    display: block;
    text-decoration: none;
    font-family: 'Noto Sans Japanese', sans-serif;
    font-weight: 700;
    transform: rotate(0.1deg);
}
.secondaryNavArea .main-nav ul {
    position: relative;
}
.secondaryNavArea .main-nav ul li {
    font-size: 1.01rem;
    float: left;
    margin-left: 5%;
    margin-top: 3vw;
}
.secondaryNavArea .main-nav ul li.nav-home a {
    font-size: 1.2rem;
}
.homeNavArea .main-nav ul li a:hover {
    color: #333;
}
.homeNavArea .main-nav ul li a:after {
    display: block;
    content: "";
    width: 0;
    height: 2px;
    background-color: #005AA0;
    margin: 1px auto 0;
    transition: .20s ease-out;
    -webkit-transition: .20s ease-out;
    -moz-transition: .20s ease-out;
    -o-transition: .20s ease-out;
    -ms-transition: .20s ease-out;
}
.homeNavArea .main-nav ul li a:hover:after {
    width: 46px;
}
.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
    background-color: #fff;
}
.secondaryNavArea {
    width: 100%;
    padding: 3vw 0 0 0;
    height: 13vw;
    position: fixed;
    z-index: 9999;
    background-color: #FFF;
    box-sizing: border-box;
}
.secondaryNavArea .logo {
    position: relative;
    width: 250px;
    left: 4%;
    box-sizing: border-box;
    float: left;
    margin-right: 8%;
    margin-top: -10px;
}

@media all and (-ms-high-contrast: none) {
.secondaryNavArea .logo {
    top: 8vh;
}
}
.secondary header {
}
.secondary header h1 {
    width: 100%;
    height: 17vw;
    background-image: url(../img/common/bg_h1.jpg);
    background-position: bottom;
    background-size: cover;
    position: relative;
    font-size: 4vw;
    font-weight: 700;
    line-height: 1;
    top: 10vw;
    margin-bottom: 10vw;
}
.secondary header h1 span {
    display: inline-block;
    position: relative;
    top: 50% !important;
    -webkit-transform: translateY(-50%); /* Safari用 */
    transform: translateY(-50%);
    margin-left: 4.6%;
    z-index: 1;
    background-color: rgba(255, 255, 255, 0.85);
    padding: 0.6rem;
}

@media only screen and (min-width: 1201px) {
.secondaryNavArea {
    width: 100%;
    padding: 15px 0 0 0;
    height: 160px;
}
.secondaryNavArea .logo {
    width: 300px;
}
.secondaryNavArea .main-nav ul li {
    margin-top: 40px;
}
.secondary header h1 {
    height: 200px;
    font-size: 3rem;
    margin-bottom: 120px;
}
.secondary header h1 {
    top: 120px;
}
}
.secondaryNavArea .main-nav {
}

@media screen and (max-width: 768px) {
.homeNavArea .logo {
    display: none;
}
.homeNavArea .logo-sp, .secondaryNavArea .logo {
    display: block;
    width: 40vw;
    height: 17vh;
    position: absolute;
    left: 4%;
    margin-top: -15px;
}
.homeNavArea .logo-sp {
    display: block;
    width: 40vw;
    height: 17vh;
    position: absolute;
    left: 4%;
    margin-top: -40px;
}
.homeNavArea, .secondaryNavArea {
    width: 100%;
    float: none;
    height: 15vw;
    background-color: #FFF;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
}
.main-nav ul {
    width: 100%;
    text-align: center;
    position: relative;
    height: auto;
}
.main-nav ul li {
    display: block;
    margin: 0 0;
    width: auto;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%); /* Safari用 */
    transform: translateY(-50%);
    font-size: 1.01rem;
    color: #333;
}
.main-nav ul li.nav-home {
    display: block;
}
.main-nav ul li a {
    display: block;
    line-height: 1.5em;
}
.main-nav ul li a:hover {
    color: #A6C17C;
}
.main-nav ul li a:after {
    display: none;
}
.main-nav ul li a:hover:after {
    width: auto;
}
.main-nav li a:hover {
    font-size: 1.4em;
}
.main-nav li.inq a, .main-nav li a, .main-nav li.inq a:hover {
    background: none!important;
}
.secondary header h1 {
    top: 16vw;
    margin-bottom: 20vw;
    position: relative;
    height: 30vw;
    font-size: 5.6vw;
}
.homeNavArea .main-nav ul li a:hover {
    color: #FFF;
}
.homeNavArea .main-nav ul li a:after {
    display: block;
    content: none;
}
.homeNavArea .main-nav ul li a:hover:after {
    width: 46px;
}
.secondaryNavArea .main-nav ul li {
    font-size: 1rem;
    float: none;
    margin-left: 0;
    margin-top: 0;
}
.secondaryNavArea .main-nav ul li.nav-home a {
    color: #FFF;
}
.secondaryNavArea .main-nav ul li.nav-home a:hover {
    font-size: 2em;
    color: #A6C17C;
}
.secondaryNavArea .main-nav ul li, .homeNavArea .main-nav ul li {
    margin: 1em 0;
}
}

@media screen and (max-width: 480px) {
.homeNavArea .logo-sp {
    margin-top: -27px;
}
}

@media screen and (max-width: 420px) {
.secondary header h1 {
    font-size: 8vw;
}
.homeNavArea .logo-sp, .secondaryNavArea .logo {
    width: 48vw;
    height: 10vh;
}
.homeNavArea .logo-sp {
    margin-top: -20px;
}
.homeNavArea, .secondaryNavArea {
    height: 17vw;
}
}
/* visual-cut */



.main-vis {
    z-index: 0;
    background-position: center;
    background-size: cover;
    width: 60vw;
    float: right;
    position: relative;
    height: auto;
    min-height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /* 左右中央寄せ */
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    /* 上下中央寄せ */
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
/* ビルと空*/
.vis1 {
    background-image: url(../img/top/vis01.jpg);
}
.vis2 {
    background-image: url(../img/top/vis02.jpg);
}
/* ビルと空キャッチ */


.info {
    position: absolute;
    left: 13vw;
    bottom: 40vh;
    /*border: 1px solid #FFF;*/
    padding: 20px;/*border-radius: 18px;*/
}
.info .info1 {
    font-size: 1.8rem;
    font-weight: bold;
    font-style: italic;
    /*margin-bottom: 0.3em;*/
    font-family: 'Sawarabi Mincho';
    text-align: center;
    line-height: 1.5em;
}
@media screen and (max-width: 768px) {
.info {
    position: absolute;
    left: 20vw;
    bottom: 20vh;
    /*border: 1px solid #FFF;*/
    padding: 20px;/*border-radius: 18px;*/
}	
.info .info1 {
    font-size: 1.5rem;
}	
}
@media screen and (max-width: 420px) {
.info .info1 {
    font-size: 0.9rem;
}	
}
.info .info2 {
    margin-bottom: 0.5em;
}

@media only screen and (max-width: 768px) {
.main-vis {
    width: 100vw;
    min-height: 90vh;
    float: none;
    margin-top: 10vh;
}
/* info*/
.info {
    position: absolute;
    left: 5vw;
    bottom: auto;
    top: 35vh;
}
}
/*----------------------------
main-area
-----------------------------*/


main {
    position: relative;
    width: 100%;
    z-index: 0;
    padding-bottom: 0;
    margin: 0;
    background-color: #fff
}
.content.inner {
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
}
.like-btn1 {
    display: block;
    margin-top: 0.5em;
}
.like-btn1 a {
    padding: 2px 15px 2px 19px;
    line-height: 1;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    text-decoration: none;
    border-radius: 3px;
    width: auto;
    color: #FFF!important;
}
@media screen and (max-width: 420px) {
.like-btn1 a {
    font-size: 0.8em;
}	
}
.like-btn1 a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 10px;
    box-sizing: border-box;
    width: 6px;
    height: 5px;
    border: 5px solid transparent;
    border-left: 5px solid #FFF;
}
.like-btn2 {
    display: block;
    margin-top: 0.8em;
}
.like-btn2 a {
    padding: 4px 8px 4px 16px;
    line-height: 1;
    box-sizing: border-box;
    background: none;
    border: 1px solid #999;
    text-align: center;
    position: relative;
    text-decoration: none;
    width: auto;
}
.like-btn2 a:hover {
    background-color: rgba(102, 102, 102, 0.8);
    color: #FFF;
}
.like-btn2 a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 5%;
    box-sizing: border-box;
    width: 6px;
    height: 5px;
    border: 5px solid transparent;
    border-left: 5px solid #7a0;
}
.like-btn3 {
    color: #FFF;
    line-height: 1;
}
.like-btn3 a {
    padding: 1px 15px 1px 17px;
    line-height: 1;
    box-sizing: border-box;
    border: 1px solid #FFF;
    text-align: center;
    position: relative;
    text-decoration: none;
    border-radius: 18px;
    background-color: rgba(255, 255, 255, 0.2);
    color: #FFF!important;
    font-size: 0.8rem;
}
.like-btn3 a:hover {
    background-color: rgba(255, 255, 255, 0.4);
    border: 1px solid #fff;
    color: #FFF;
}
.like-btn3 a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 10px;
    box-sizing: border-box;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
    border-left: 4px solid #fff;
}

@media screen and (max-width: 768px) {
.content.inner {
    width: 90%;
    margin: 0 auto;
    padding-bottom: 30px;
}
}
/*----------------------------
footer
-----------------------------*/


footer {
    padding: 8px 0 0;
    min-height: 140px;
    width: 100%;
    z-index: 2;
    position: relative;
    box-sizing: border-box;
}
footer .footerInner {
    width: 90%;
    max-width: 1060px;
    margin: 0 auto;
}
footer .footerInner ul {
    text-align: center;
    padding: 30px 0;
    box-sizing: border-box;
}
footer .footerInner ul li {
    display: inline-block;
    line-height: 1;
    font-size: 0.75rem;
}
footer .footerInner ul li a {
    text-decoration: none;
    padding: 0 0.4em;
    color: #797979!important;
}
footer .footerInner ul li a:hover {
    color: #CCC!important;
}
footer .footerInner #totop a {
    position: fixed;
    bottom: 80px;
    right: 100px;
    z-index: 9999;
    display: inline-block;
    padding: 0 0 0 0px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    display: block;
}
footer .footerInner #totop a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 60px;
    height: 60px;
    background-color: rgba(255, 255, 255, 0.2);
    border: 1px solid #5c6eaa;
    border-radius: 16px;
}
footer .footerInner #totop a::after {
    position: absolute;
    top: -7px;
    bottom: 0;
    left: 24px;
    margin: auto;
    content: "";
    box-sizing: border-box;
    width: 0;
    border-color: #5c6eaa;
    border-style: solid;
    border-width: 6px;
    border-left-color: transparent;
    border-top-color: transparent;
    border-right-color: transparent;
}
footer .footerInner #totop a:hover {
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
footer .fa-home {
    font-size: 1.3em;
}
footer .copyright {
    width: 100%;
    padding: 30px 0;
    text-align: center;
    line-height: 1;
    color: #999;
}
footer .copyright2 {
    width: 150px;
    margin: 10px auto;
}
/* バナー付 */

footer .add-banner {
    clear: both;
    width: 100%;
    border-top: 1px solid #d7d7d7;
    padding: 30px 0;
}
footer .add-banner .inner-add-banner {
    width: 90%;
    max-width: 1060px;
    margin: 0 auto;
}
footer .add-banner .inner-add-banner .copyright {
    float: left;
    text-align: left;
    border: none;
    padding: 0;
    line-height: 28px;
    box-sizing: border-box;
    width: auto;
}
footer .add-banner .inner-add-banner .wrap-banner {
    float: right;
    width: 590px;
    box-sizing: border-box;
}
footer .add-banner .inner-add-banner .wrap-banner div {
    display: inline-block;
    margin: 0 5px;
}

@media screen and (max-width: 768px) {
footer {
    min-height: inherit;
}
footer .footerInner #totop a {
    position: fixed;
    bottom: 100px;
    right: 70px;
    z-index: 9999;
    display: inline-block;
    padding: 0 0 0 0px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    display: block;
}
footer .footerInner ul {
    display: none;
    padding: 0;
    margin: 0;
}
/* バナー付 */

footer .add-banner .inner-add-banner .wrap-banner {
    float: none;
    width: 570px;
    margin: 0 auto;
}
footer .add-banner .inner-add-banner .wrap-banner img {
    display: inline-block;
    margin: 0 10px
}
footer .add-banner .inner-add-banner .copyright {
    float: none;
    text-align: center;
    border: none;
    margin-bottom: 0.5em;
}
footer ul li {
    margin-right: 0;
    display: block;
    line-height: 1.8em;
}
/* バナー付 */

footer .add-banner .inner-add-banner .wrap-banner {
    width: auto;
    margin: 0 auto;
}
footer .add-banner .inner-add-banner .wrap-banner p img {
}
}

@media screen and (max-width: 420px) {
footer .footerInner #totop a {
    position: fixed;
    bottom: 40px;
    right: 76px;
}
}
/*----------------------------
others
-----------------------------*/

#pagetop {
    position: fixed;
    bottom: 80px;
    right: 10px;
    font-size: 12px;
    z-index: 5;
}
#pagetop a {
    display: block;
    background-color: rgba(255, 255, 255, 0.5);
    border: #CCC solid 1px;
    text-decoration: none;
    color: #333;
    background-image: url(../img/common/arrow_top.png);
    background-position: center 10px;
    background-repeat: no-repeat;
    padding: 25px 22px 13px;
}
#pagetop a:hover {
    background-color: rgba(255, 255, 255, 0.7);
}
/* 
 * ------- home ---------------------
 */

/*----------------------------
main
-----------------------------*/

/* pickup1 */

.home-inner {
    max-width: 1100px;
    width: 90%;
    position: relative;
}
.pickup1 {
    max-width: 1100px;
    width: 90%;
    margin: auto;
    position: relative;
}
/* pickup2 */


.pickup2 {
    max-width: 1100px;
    width: 90%;
    z-index: 2;
    position: relative;
}
/*----------------------------
data
-----------------------------*/

.dataContainer {
    width: 100%;
    margin: 0 auto;
    padding: 20px 0;
}
.dataInner {
    max-width: 1100px;
    width: 90%;
    margin: auto;
}
.dataContainer .name {
    font-weight: bold;
}
/* 
 * ------- secondary contents ---------------------
 */

 
 



/*----------------------------
main
-----------------------------*/

.secondary {
}
.secondary .content {
    padding: 2.8em 0;
}

@media screen and (max-width: 420px) {
.secondary .content {
    padding: 1.2em 0;
}
}
/* txt pics*/

a:link, a:visited {
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
    ;
}
.txtbold {
    font-weight: bold;
}
.txtstyle1 {
    font-size: 1.16em;
    font-weight: bold;
}
.txtstyle2 {
    font-size: 1.24em;
    font-weight: bold;
}
.txtslow {
    line-height: 2.3;
}
.sp, .ssp {
    display: none;
}
.tx-center {
    text-align: center !important;
}
.tx-left {
    text-align: left !important;
}
.tx-flex {
    text-align: center !important;
}
.tx-flex-sp {
    text-align: center !important;
}
.tx-em {
    background: linear-gradient(transparent 62%, rgba(255, 250, 137, 0.71) 0%);
}
.menu-pic {
    text-align: center;
}
.menu-pic img {
    border-radius: 50%;
    z-index: -1;
    position: relative;
    text-align: center;
}
.menu-list {
}

@media screen and (max-width: 768px) {
.tx-flex {
    text-align: left;/*PCで中央、スマホタブレット左寄せ*/
}
.menu-category {
    width: 60%;
    margin: auto;
    margin-top: 20px;
}
}

@media screen and (max-width: 420px) {
.tx-flex-sp {
    text-align: left;/*PCスマホで中央、左寄せ*/
}
.menu-category {
    width: 100%;
}
}
.btn a {
    -webkit-transition: all 0.7s;
    -moz-transition: all 0.7s;
    transition: all 0.7s;
}
.caption {
    font-weight: bold;
    margin-top: 10px;
}
.before, .after {
    position: relative;
}
.before::after {
    position: absolute;
    content: " ";
    display: inline-block;
    background: url(../img/common/watermark_before.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1;
}
.after::after {
    position: absolute;
    content: " ";
    display: inline-block;
    background: url(../img/common/watermark_after.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1;
}

@media screen and (max-width: 768px) {
.sp {
    display: block;
}
.ssp {
    display: none;
}
.pc {
    display: none;
}
}

@media screen and (max-width: 400px) {
.ssp {
    display: block;
}
}
/* 「※」付きなど用の文字インデント */

.ex {
    padding-left: 1em; /*1em（1文字）分、右に動かす*/
    text-indent: -1em; /*最初の行だけ1em（1文字）分、左に動かす*/
    margin-bottom: 0.4em;
    line-height: 1.3em;
    font-size: 0.9em;
}
.ex span {
    color: #bc2d2d;
}
/* 下線 */
.underline {
    text-decoration: underline;
}
/* number */

.number-title {
    color: #333!important;
}
.small-writeup {
    border: 1px solid #999;
    padding: 40px;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 40px;
}
.bgcolor {
    background-color: #fefcfa;
}

@media screen and (max-width: 768px) {
.r-number {
    width: 46px;
    height: 46px;
    line-height: 50px;
    font-size: 30px;
}
.small-writeup {
    padding: 10px;
    margin-bottom: 30px;
}
}
/* pic */


.content img, .shell img {
    width: auto;
    max-width: 100%;
}
.content .pic-full img {
    width: 100%;
    text-align: center;
}
/* アンカーのずれを調整 */

#anchor1, #anchor2, #anchor3 {
    margin-top: -76px;
    padding-top: 76px;
}
/*----------------------------
table
-----------------------------*/


table {
    border-collapse: collapse;
    border-spacing: 0;
}
td, th {
    padding: 0;
}
/* 普通 */
table {
    width: 100%;
    margin-bottom: 1.5em;
}
table tr {
}
table th {
    padding: 8px;
    border: 1px #999 solid;
    font-weight: bold;
    background-color: #EEE;
    font-weight: bold;
}
table td {
    padding: 8px;
    border: 1px #999 solid;
    font-weight: normal;
}
/* 線のtable */

table.table-various1 {
    width: 100%;
    padding-top: 1.5em;
}
table.table-various1 caption {
    display: none;
}
table.table-various1 tr {
}
table.table-various1 th {
    padding: 9px 5px;
    border: none;
    border-bottom: 1px #999 solid;
    background-color: transparent;
    text-align: left;
}
table.table-various1 th span {
    color: #333;
    font-weight: normal;
    padding-top: 0.3em;
    display: block;
}
table.table-various1 th .cap {
    display: inline-block;
}
table.table-various1 caption {
    text-align: right;
    padding: 0;
    margin: 0;
    line-height: 1;
}
table.table-various1 td {
    padding: 9px 5px;
    border: none;
    border-bottom: 1px #999 solid;
    font-weight: normal;
    text-align: left;
}
/* 横長のtable */


.table-various2 {
    width: 100%;
}
table.table-various2 th {
    text-align: center;
}
/* 横→縦 */

table.table-various3 th {
    text-align: center;
}
table.table-various3 td {
}
table.table-various3 td:first-child {
    text-align: left;
}

@media only screen and (max-width: 768px) {
table {
    border-top: 1px #999 solid;
}
table th {
    display: block;
    border-top: none;
    border-bottom: none;
}
table td {
    display: block;
}
table.table-various1 {
    position: relative;
    border-top: none;
}
table.table-various1 th {
    border-bottom: none;
    background-color: #EEE;
    box-sizing: border-box;
    padding: 5px;
}
table.table-various1 td {
    border-bottom: none;
    box-sizing: border-box;
    padding: 5px 5px 20px;
}
/* 横長（保留）

.table-various2 {
	min-width:768px;
	overflow:scroll;
}



.table-various2 table th {
	display:table-cell;
	 border-top: 1px #ddd solid;
 border-bottom: 1px #ddd solid;
}

.table-various2 table td {
 display:table-cell;
}

 */

.table-various2 {
    overflow: scroll;
}
table.table-various2 th {
    display: table-cell;
    border-top: 1px #ddd solid;
    border-bottom: 1px #ddd solid;
}
table.table-various2 td {
    display: table-cell;
}
table.table-various3 {
    display: block;
    border-top: none;
    width: 100%;
}
table.table-various3 thead {
    display: block;
    float: left;
    border-bottom: 1px #ddd solid;
}
table.table-various3 tbody {
    display: block;
    width: auto;
    position: relative;
    overflow-x: auto;
    white-space: nowrap;
}
table.table-various3 th {
    display: table-cell;
    width: auto;
    border-top: 1px #ddd solid;
    border-bottom: none;
    border-right: 1px #ddd solid;
    width: auto;
}
table.table-various3 tbody tr {
    display: inline-block;
    vertical-align: top;
    margin: 0 -3px;
}
table.table-various3 td {
    display: table-cell;
    border-bottom: none;
    text-align: left;
    border-left: none;
}
}
/*----------------------------
faq
-----------------------------*/

.faq {
    margin-bottom: 50px;
}
.content .faq h3 {
    font-size: 1.4em;
    text-align: left;
    padding-left: 44px;
    position: relative;
    font-weight: normal;
    color: #333;
}
/*　人のアイコンバージョン
.content .faq h3 {
	font-size:1.4em;
	background-image:url(../img/common/icn_human.png);
	background-position:0 2px;
	background-repeat:no-repeat;
	background-size:20px;
	padding-left:28px;
	text-align:left;
}

*/

.content .faq h3::before {
    content: "Q";
    font-family: 'Mplus 1p';
    position: absolute;
    width: 32px;
    height: 32px;
    left: 2px;
    top: -1px;
    background-color: #333;
    border-radius: 50%;
    color: #FFF;
    text-align: center;
    line-height: 27px;
    font-size: 27px;
}
.content .faq h3::after {
    position: absolute;
    bottom: -16px;
    left: 0;
    z-index: 1;
    content: '';
    display: block;
    height: 2px;
    background: #DDD;
    width: 100%;
    margin-left: 0;
}
.content .faq .answer {
    padding-left: 44px;
    position: relative;
    box-sizing: border-box;
}
.content .faq .answer::before {
    content: "A";
    font-family: 'Mplus 1p';
    position: absolute;
    width: 32px;
    height: 32px;
    left: 2px;
    background-color: #CCC;
    border-radius: 50%;
    color: #FFF;
    text-align: center;
    line-height: 28px;
    font-size: 28px;
}
.content .faq .pic {
}
/*----------------------------
inquiry 
-----------------------------*/


.inquiry table {
    background-color: #EEE;
    empty-cells: show;
    width: 100%;
    line-height: 1.3em;
    border-spacing: 0px;
    margin-bottom: 1.5em;
    padding: 20px 0;
    list-style-type: none;
    box-sizing: border-box;
}
.inquiry table th {
    padding: 12px 36px 12px 0;
    border: none;
    border-bottom: 1px solid #FFF;
    text-align: right;
    font-weight: bold;
    vertical-align: top;
    width: 33%;
    line-height: 2.2em;
    box-sizing: border-box;
    background-color: #EEE;
}
.inquiry table td {
    padding: 12px 5px 12px 0;
    border: none;
    border-bottom: 1px solid #FFF;
    text-align: left;
    box-sizing: border-box;
    background-color: #EEE;
}
.inquiry table td .select {
    margin-bottom: 0.5em;
}
.inquiry table td .select li {
    float: left;
    margin-right: 20px;
}
.inquiry table td .select li input {
    vertical-align: middle;
}
.inquiry table td label {
    padding: 0 0 0px 5px;
}
.inquiry table span {
    color: #ff0000;
}
.inquiry table input {
    margin: 2px 0 2px 0;
    height: 1.6em;
    border: 1px solid #999;
}
.inquiry table textarea {
    border: 1px solid #999;
}
.inquiry .formBtn {
    width: 100%;
    text-align: center;
    margin-bottom: 30px;
}
.inquiry .btnSend {
    background-color: #333;
    color: #FFF;
    padding: 5px 0;
    margin: 0 5px 0 5px;
    border: 0;
    width: 160px;
    box-sizing: border-box;
    border-radius: 2px;
}
.inquiry .btnReset {
    background-color: #FFF;
    padding: 5px 0;
    margin: 0 5px 0 5px;
    border: 0;
    border: 1px solid #333;
    width: 160px;
    box-sizing: border-box;
    border-radius: 2px;
}
.inquiry .forml {
    width: 90%;
}
.inquiry .formm {
    width: 50%;
}
.inquiry .tel {
    text-align: center;
    font-size: 3em;
    font-family: 'Noto Sans Japanese', sans-serif;
    margin-bottom: 1em;
}

@media only screen and (max-width: 768px) {
.inquiry table {
    width: 100%;
    margin: 0 0 3% 0;
    padding: 10px 0;
    box-sizing: border-box;
}
.inquiry table tr {
    display: block;
}
.inquiry table th {
    display: list-item;
    padding: 10px 10px 5px;
    border-bottom: none;
    text-align: left;
    font-weight: bold;
    vertical-align: top;
    width: 100%;
    line-height: 1em;
    box-sizing: border-box;
    background-color: #EEE;
}
.inquiry table td {
    display: list-item;
    width: 100%;
    border-bottom: 1px #FFF solid;
    font-weight: normal;
    padding: 5px 10px 10px 10px;
}
.inquiry .forml {
    width: 100%;
}
.inquiry .formm {
    width: 100%;
}
.inquiry .btnSend {
    width: 100px;
}
.inquiry .btnReset {
    width: 100px;
}
}
.inquiry p {
    text-align: center;
}

@media only screen and (max-width: 640px) {
.inquiry .tel {
    font-size: 2.6em;
}
.inquiry p {
    text-align: left;
}
}
/*----------------------------
list
-----------------------------*/

.content ul.circle, .content ul.check {
    position: relative;
}
.content ul.circle li {
    padding: 0 0 0.5em 1.2em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
}
.content ul.check li {
    padding: 0 0 0.5em 1.6em;
    margin-bottom: 0.7em;
    border-bottom: 1px dashed #CCC;
}
.content ul.circle li:before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    background-color: #333;
    border-radius: 50%;
    left: 0.5em;
    margin-top: 0.6em;
}
.content ul.check li::before {
    position: absolute;
    content: "\f14a";
    font-family: FontAwesome;
    left: 0.3em;
    font-size: 1.3em;
}
.content ol.number-list {
    display: block;
    list-style-position: outside;
}
.content ol.number-list li {
    list-style-type: decimal;
    padding: 0 0 0 10px;
    margin-bottom: 1em;
    margin-left: 2em;
}
/*----------------------------
variable grid
-----------------------------*/


.one_half, .one_third, .two_third, .one_quarter, .two_quarter, .three_quarter, .one_fifth, .two_fifth, .three_fifth, .four_fifth, .one_sixth, .two_sixth, .three_sixth, .four_sixth, .five_sixth {
    display: inline;
    float: left;
    margin: 0 0 0 5%;
    list-style: none;
}
.one_half:first-child, .one_third:first-child, .two_third:first-child, .one_quarter:first-child, .two_quarter:first-child, .three_quarter:first-child, .one_fifth:first-child, .two_fifth:first-child, .three_fifth:first-child, .four_fifth:first-child, .one_sixth:first-child, .two_sixth:first-child, .three_sixth:first-child, .four_sixth:first-child, .five_sixth:first-child {
    margin-left: 0;
}
.first {
    margin-left: 0;
    clear: left;
}
/*Half Grid*/

.one_half {
    width: 47.5%;
}
/*Third Grid*/


.one_third {
    width: 30%;
}
.two_third {
    width: 65%;
}
/*Quarter Grid*/


.one_quarter {
    width: 21.25%;
}
.two_quarter {
    width: 47.5%;
} /* Same as one_half */
.three_quarter {
    width: 73.75%;
}
/*Fifth Grid*/


.one_fifth {
    width: 16%;
}
.two_fifth {
    width: 37%;
}
.three_fifth {
    width: 58%;
}
.four_fifth {
    width: 79%;
}
/*Sixth Grid*/

.one_sixth {
    width: 12.5%;
}
.two_sixth {
    width: 30%;
} /* Same as one_third */
.three_sixth {
    width: 47.5%;
} /* Same as one_half */
.four_sixth {
    width: 65%;
} /* Same as two_third */
.five_sixth {
    width: 82.5%;
}

@media screen and (max-width: 768px) {
.one_half, .one_third, .two_third, .one_quarter, .two_quarter, .three_quarter, .one_fifth, .two_fifth, .three_fifth, .four_fifth, .one_sixth, .two_sixth, .three_sixth, .four_sixth, .five_sixth {
    margin: 0 0 3em 0;
}
.one_half, .one_third, .two_third, .one_quarter, .two_quarter, .three_quarter, .one_fifth, .two_fifth, .three_fifth, .four_fifth, .one_sixth, .two_sixth, .three_sixth, .four_sixth, .five_sixth {
    width: 100%;
}
}
