@charset "UTF-8";
@font-face {
    font-family: 'themify';
    src: url('../fonts/themify.eot');
    src: url('../fonts/themify.eot?#iefix') format('embedded-opentype'), url('../fonts/themify.woff') format('woff'), url('../fonts/themify.ttf') format('truetype'), url('../fonts/themify.svg#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
}

.btn:before {
    font-family: 'themify';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
}

.ti-user:before {
    content: "\e602";
}

.ti-pencil-alt:before {
    content: "\e61d";
}

.ti-cloud:before {
    content: "\e6b1";
}

.ti-menu:before {
    content: "\e68e";
    font-family: 'themify';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
}

.ti-control-play:before {
    content: "\e6ad";
    font-family: 'themify';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    vertical-align: middle;
}

.ti-comments:before {
    content: "\e643";
    font-family: 'themify';
    font-size: xx-large;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    vertical-align: middle;
}

.ti-new-window:after {
    content: "\e732";
    font-family: 'themify';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
}

.ti-angle-right-b:before,
.ti-angle-right-a:after {
    content: "\e649"!important;
    font-family: 'themify';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    position: static!important;
}


/* Base
================================================ */

html {
    font-family: 'Montserrat', 'Noto Sans Japanese', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, Arial, sans-serif;
    background: #fff;
    font-size: 62.5%;
}

body {
    font-family: 'Montserrat', 'Noto Sans Japanese', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, Arial, sans-serif;
    outline: none;
    background: #fff;
    color: #454545;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: .1rem;
    width: 100%;
    height: 100%;
}

body * {
    font-family: 'Montserrat', 'Noto Sans Japanese', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, Arial, sans-serif;
}


/* Reset
================================================ */

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
blockquote,
table,
th,
td {
    margin: 0;
    padding: 0;
}

ul,
ol {
    list-style: none;
}


/* font-size */

.fs11 {
    font-size: 11px!important;
    font-size: 1.1rem!important;
    line-height: 1.1!important;
}

.fs12 {
    font-size: 12px!important;
    font-size: 1.2rem!important;
    line-height: 1.1!important;
}

.fs13 {
    font-size: 13px!important;
    font-size: 1.3rem!important;
    line-height: 1.1!important;
}

.fs25 {
    font-size: 25px!important;
    font-size: 2.5rem!important;
    line-height: 1.1!important;
}


/* font-weight */

.fwN {
    font-weight: normal !important;
}

.fwB {
    font-weight: bold !important;
}

.light {
    font-weight: 400;
}


/* color */

.blue01 {
    color: #006588!important;
}

.blue02 {
    color: #83ccd2!important;
}

.red {
    color: #e04172!important;
}

.orange {
    color: #f15c22!important;
}


/* Position
================================================ */

/* text-align */

.taL {
    text-align: left;
}

.taC {
    text-align: center;
}

.taR {
    text-align: right;
}

.clear {
    clear: both;
}


/* vertical-align */

.vaT {
    vertical-align: top;
}

.vaM {
    vertical-align: middle;
}

.vaB {
    vertical-align: bottom;
}


/* Link
================================================ */

a:link,
a:visited {
    color: #222222;
    background-color: transparent;
    text-decoration: none;
}

a:hover,
a:active {
    color: #4e4e4e;
    background-color: transparent;
    text-decoration: underline;
}


/* Space
================================================ */

/* 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;
}

.mt30 {
    margin-top: 30px !important;
}

.mt40 {
    margin-top: 40px !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;
}

.mr30 {
    margin-right: 30px !important;
}

.mr40 {
    margin-right: 40px !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;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !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;
}

.ml30 {
    margin-left: 30px !important;
}

.ml40 {
    margin-left: 40px !important;
}


/* 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;
}

.pt30 {
    padding-top: 30px !important;
}

.pt40 {
    padding-top: 40px !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;
}

.pr30 {
    padding-right: 30px !important;
}

.pr40 {
    padding-right: 40px !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;
}

.pb30 {
    padding-bottom: 30px !important;
}

.pb40 {
    padding-bottom: 40px !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;
}

.pl30 {
    padding-left: 30px !important;
}

.pl40 {
    padding-left: 40px !important;
}


/* Tools
================================================ */

.block {
    display: block!important;
}

.inline {
    display: inline!important;
}

.inline-block {
    display: inline-block!important;
}

.hide {
    display: none!important;
}

.nobg {
    background: none !important;
}

.underLine {
    text-decoration: underline;
}

.noLine {
    text-decoration: none;
}


/* CSS Hack
================================================ */

.cf:after,
header:after,
article:after,
section:after,
ul:after,
dl:after,
hr:after,
.content:after {
    display: block;
    clear: both;
    content: "";
}

.cf,
header,
article,
section,
ul,
dl,
p,
.content {
    zoom: 1;
}


/* noscript
================================================ */

noscript {
    clear: both;
    color: red;
    text-align: center;
}


/* common
================================================ */

/* Chrome,Safari,Opera用スクロールバー */

::-webkit-scrollbar {
    overflow: hidden;
    width: 15px;
    background: #83ccd2;
    border-radius: 0;
}

::-webkit-scrollbar:horizontal {
    height: 7px;
}

::-webkit-scrollbar-track {}

::-webkit-scrollbar-piece {
    background: #83ccd2;
    display: none;
}

::-webkit-scrollbar-piece:start {
    background: #83ccd2;
    display: none;
}

::-webkit-scrollbar-thumb {
    overflow: hidden;
    border-radius: 0;
    background: #5e5e5e;
}

::-webkit-scrollbar-corner {
    overflow: hidden;
    border-radius: 0;
    background: #83ccd2;
}


/* IE用スクロールバー */

html,
body {
    scrollbar-face-color: #5e5e5e;
    scrollbar-track-color: #ffffff;
    scrollbar-arrow-color: #ffffff;
    scrollbar-highlight-color: #ffffff;
    scrollbar-shadow-color: #ffffff;
    scrollbar-3dlight-color: #ffffff;
    scrollbar-darkshadow-color: #ffffff;
}


/* その他 */

::-moz-selection {
    background: #83ccd2;
    color: #fff;
}

::selection {
    background: #83ccd2;
    color: #fff;
}

img {
    max-width: 100%;
    width: auto\9;
    height: auto;
}

@media screen and (max-width: 767px) {
    .content {
        width: 100%;
        margin-bottom: 0!important;
    }
}

@media (min-width: 768px) {
    .content {
        margin: 0 auto;
        width: 750px;
    }
    .sp_text01 {
        display: none;
    }
    .navbar-nav {
        margin: 0 auto;
        display: table;
        table-layout: fixed;
        float: none;
    }
}

@media (min-width: 992px) {
    .content {
        width: 970px;
    }
}

@media (min-width: 1200px) {
    .content {
        width: 1170px;
    }
}


/*background-color*/

.bg-blue {
    background-color: #006588!important;
}

/*common*/

html {
    width: 100%;
    height: 100%;
}

h3 {
    font-size: 20px;
    font-size: 2.0rem;
    margin: 0 0 10px;
}

p {
    margin: 0 0 10px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 24px;
    line-height: 2.4rem;
    font-weight: normal;
}

small {
    font-size: 75%;
}

@media(min-width:768px) {
    p {
        margin: 0 0 10px;
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 24px;
        line-height: 2.4rem;
    }
}

a {
    color: #42dca3;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

a:hover,
a:focus {
    text-decoration: none;
    color: #4e4e4e;
}

address {
    margin: 0 0 10px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 24px;
    line-height: 2.4rem;
    font-weight: normal;
}

hr {
    border-top: 1px solid #ddd;
}

label {
    font-size: 13px;
    font-size: 1.3rem;
}


/*headline*/

.headline {
    margin: 0 0 50px;
    text-align: center;
    position: relative;
}

.headline h2.en {
    color: #000;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 2px;
}

.headline h2.jp {
    color: #000;
    font-size: 12px;
    font-weight: normal;
    letter-spacing: 1px;
    line-height: 1;
    margin-top: 15px;
}

.en:after {
    content: "";
    display: block;
    width: 40px;
    height: 3px;
    background-color: #006588;
    text-align: center;
    margin: 10px auto 0 auto;
}

.navbar {
    border: none;
}


/*no.*/

.n1:before {
    content: '1';
    padding: 6px 5px 5px 7px;
}

.n2:before {
    content: '2';
    padding: 6px 5px 5px 7px;
}

.n3:before {
    content: '3';
    padding: 6px 5px 5px 7px;
}

.n4:before {
    content: '4';
    padding: 6px 5px 5px 7px;
}

.n5:before {
    content: '5';
    padding: 6px 5px 5px 7px;
}

.n6:before {
    content: '6';
    padding: 6px 5px 5px 7px;
}

.n7:before {
    content: '7';
    padding: 6px 5px 5px 7px;
}

.n8:before {
    content: '8';
    padding: 6px 5px 5px 7px;
}

.n9:before {
    content: '9';
    padding: 6px 5px 5px 7px;
}

.n1:before,
.n2:before,
.n3:before,
.n4:before,
.n5:before,
.n6:before,
.n7:before,
.n8:before,
.n9:before {
    position: absolute;
    width: 25px;
    height: 25px;
    background: #e04172;
    border: 1px solid #e04172;
    border-radius: 50px;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    color: #fff;
    top: -5px;
    left: -30px;
    display: block;
    text-align: center;
    font-weight: 700;
    font-size: 10px;
    font-size: 1.0rem;
}


/* btn */

.sectionBtn .btn {
    background-color: #006588;
    border-radius: 0;
    margin: 10px 0px;
    padding: 10px 10px;
}

.sectionBtn a .btn {
    color: #fff;
    font-size: 13px;
    font-size: 1.3rem;
}

.sectionBtn .btn:hover,
.radiusBtn .btn:hover {
    background-color: #83cdd2;
}

.radiusBtn .btn {
    background-color: #006bb9;
    border-radius: 25px;
    margin: 10px 0px;
    padding: 10px 50px;
}

.radiusBtn a .btn {
    color: #fff;
    font-size: 17px;
    font-size: 1.7rem;
}


/*border*/

.bt1 {
    border-top: solid 1px #ddd;
}


/*list*/

.list-inline {
    font-size: 0;
}

.list-inline > li {
    display: inline-block;
    padding: 0;
}


/*scloll down button*/

.sdb a {
    padding-top: 60px;
}

.sdb a span {
    position: absolute;
    top: 180px;
    left: 50%;
    width: 30px;
    height: 50px;
    margin-left: -15px;
    border: 2px solid #fff;
    border-radius: 50px;
    box-sizing: border-box;
}

.sdb a span::before {
    position: absolute;
    top: 10px;
    left: 50%;
    content: '';
    width: 6px;
    height: 6px;
    margin-left: -3px;
    background-color: #fff;
    border-radius: 100%;
    -webkit-animation: sdb 2s infinite;
    animation: sdb 2s infinite;
    box-sizing: border-box;
}

.sdb p {
    position: absolute;
    top: 240px;
    left: 50%;
    margin-left: -20px;
}

@-webkit-keyframes sdb {
    0% {
        -webkit-transform: translate(0, 0);
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
    80% {
        -webkit-transform: translate(0, 20px);
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

@keyframes sdb {
    0% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
    80% {
        -webkit-transform: translate(0, 20px);
        transform: translate(0, 20px);
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}


/*btn*/

.commonBtn {
    width: 100%;
    height: 100%;
}

.commonBtn .btn {
    background-color: #006588;
    border-radius: 0;
    margin: 30px 0px;
    padding: 15px 30px;
}

.commonBtn .btn {
    color: #fff;
}

.commonBtn .btn:hover {
    background-color: #83cdd2;
}

.gNavi {
    background-color: #006588;
    border-top: 3px solid #83cdd2;
}

.btn {
    border: none;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    background: none;
    cursor: pointer;
    padding: 10px 20px 10px 70px;
    display: inline-block;
    margin: 10px 20px 10px 20px;
    letter-spacing: 1px;
    outline: none;
    position: relative;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.btn:after {
    content: '';
    position: absolute;
    z-index: -1;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.btn-3 {
    background: #ddd;
    color: #222222;
}

.btn-3:hover {
    background: #ddd;
}

.btn-3:active {
    background: ;
    top: 2px;
}

.btn-3:before {
    position: absolute;
    height: 100%;
    left: 0;
    top: 0;
    line-height: 3;
    font-size: 14px;
    font-size: 1.4rem;
    width: 60px;
}

.btn-3b {
    border-radius: 5px;
    border: solid 1px #ddd;
    font-size: 14px;
    font-size: 1.4rem;
    background-color: #fff;
}

.btn-3b:before {
    width: 50px;
    background-color: #ddd;
    border-right: 1px solid #ccc;
}

.required {
    color: #e04172;
}


/*google*/

iframe[name="google_conversion_frame"] {
    position: absolute;
    top: 0;
}

wbr + .nowrap {
    display: inline;
}

.nowrap {
    white-space: nowrap;
}

.nowrap {
    display: inline-block;
    text-decoration: inherit;
    white-space: nowrap;
}
