/* ===================================================================
BASE
=================================================================== */
html {
	font-size: 62.5%;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	letter-spacing: 0.02em;
	line-height: 1.7;}

body {
   font-size: 16px;
   font-size: 1.6rem;
   color: #313131;
   position: relative;
   overflow-x: hidden;
}
body{min-width:1092px;}
@media all and (-ms-high-contrast:none){
body{min-width: auto;}
}
@media screen and (max-width: 1092px){
body{min-width: 100%;}
}
@media screen and (max-width: 768px) {
body {font-size: 16px;font-size: 1.6rem;}
body {min-width: initial;}
}

body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, ul {margin: 0;padding: 0;}

@font-face {font-family: "Yu Gothic";src: local("Yu Gothic Medium");font-weight: 100;}
@font-face {font-family: "Yu Gothic";src: local("Yu Gothic Medium");font-weight: 200;}
@font-face {font-family: "Yu Gothic";src: local("Yu Gothic Medium");font-weight: 300;}
@font-face {font-family: "Yu Gothic";src: local("Yu Gothic Medium");font-weight: 400;}
@font-face {font-family: "Yu Gothic";src: local("Yu Gothic Bold");font-weight: bold;}
@font-face {font-family: "Helvetica Neue";src: local("Helvetica Neue Regular");font-weight: 100;}
@font-face {font-family: "Helvetica Neue";src: local("Helvetica Neue Regular");font-weight: 200;}

body {font-family: 'Montserrat', 'YakuHanJPs_Narrow', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
.min {font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;}
.mplus {font-family: 'M PLUS Rounded 1c', sans-serif;}
b, strong, .bold {font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}

a, a:link, a:active {;color: #0a5a92;overflow: hidden;outline: #0a5a92;}
a:hover {color: #0a5a92;text-decoration: none;}
a:visited {color: #0a5a92;}
a:focus {outline: thin dotted;}
a:hover, a:active {outline: 0;}
@media (min-width: 768px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
color: #FFF!important;
}
}
	
.mo a:hover {opacity:0.9;filter: alpha(opacity=90);-ms-filter: "alpha( opacity=90 )";}

abbr[title] {border-bottom: 1px dotted;}
b, strong {font-weight: bold;}
dfn {font-style: italic;}
pre {white-space: pre;white-space: pre-wrap;word-wrap: break-word;}
ul, ol {margin:0;padding:0;}
nav ul, nav ol {list-style: none;}
img {border: 0;vertical-align: bottom;-ms-interpolation-mode: bicubic;}
svg:not(:root) {overflow: hidden;}
form {margin: 0;}
button, input, select, textarea {font-size: 100%;margin: 0;vertical-align: baseline;*vertical-align: middle;}
button, input {line-height: normal;*overflow: visible;}
button, input[type="button"], input[type="reset"], input[type="submit"] {cursor: pointer;-webkit-appearance: button;}
input[type="checkbox"], input[type="radio"] {box-sizing: border-box;}
input[type="search"] {-webkit-appearance: textfield;-moz-box-sizing: content-box;-webkit-box-sizing: content-box;box-sizing: content-box;}
input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
button::-moz-focus-inner, input::-moz-focus-inner {border: 0;padding: 0;}
table {border-collapse: collapse;border-spacing: 0;}
address, caption, cite, code, dfn, em, strong, th, var {font-style: normal;}
h1, h2, h3, h4, h5, h6 {font-size: 100%;line-height: 145%;}
img, abbr, acronym, fieldset {border: 0;}
li {list-style:none;}
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {display: block;}
audio[controls], canvas, video {display: inline-block;*display: inline;zoom: 1;}

.center {text-align: center!important;}
.left {text-align: left!important;}
.right {text-align: right!important;}
.sp_center {text-align: left!important;}
.pc_center {text-align: center!important;}
@media screen and (max-width: 834px) {
.sp_center {text-align: center!important;width: 100%;}
.pc_center {text-align: left!important;width: 100%;}
}

a {
  transition-duration: 0.3s;
}
a img{
  cursor: pointer;
  transition-duration: 0.3s;
}
a img:hover {
  opacity: 0.6;
  transition-duration: 0.3s;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;}
	
/* Utility  -----------------------------------------------------------------------*/
.mb00 {padding-bottom: 0;}
.mb05 {margin-bottom:5px;}
.mb10 {margin-bottom:10px;}
.mb12 {margin-bottom:12px;}
.mb15 {margin-bottom:15px;}
.mb20 {margin-bottom:20px;}
.mb25 {margin-bottom:25px;}
.mb30 {margin-bottom:30px;}
.mb40 {margin-bottom:40px;}
.mb50 {margin-bottom:50px;}
.mb60 {margin-bottom:60px;}
.mb70 {margin-bottom:70px;}
.mb80 {margin-bottom:80px;}
.mb90 {margin-bottom:90px;}
.mb100 {margin-bottom:100px;}
.mb110 {margin-bottom:110px;}

@media screen and (max-width: 768px) {
.mb05 {margin-bottom:5px;}
.mb10 {margin-bottom:10px;}
.mb12 {margin-bottom:12px;}
.mb15 {margin-bottom:15px;}
.mb20 {margin-bottom:18px;}
.mb25 {margin-bottom:20px;}
.mb30 {margin-bottom:25px;}
.mb40 {margin-bottom:30px;}
.mb50 {margin-bottom:36px;}
.mb60 {margin-bottom:40px;}
.mb70 {margin-bottom:40px;}
.mb80 {margin-bottom:45px;}
.mb90 {margin-bottom:55px;}
.mb100 {margin-bottom:60px;}
.mb110 {margin-bottom:65px;}
}

.ml05 {margin-left:5px;}
.ml10 {margin-left:10px;}
.ml15 {margin-left:15px;}
.ml20 {margin-left:20px;}
.ml30 {margin-left:30px;}
.ml40 {margin-left:40px;}
.ml50 {margin-left:50px;}
.ml60 {margin-left:60px;}
.mr05 {margin-right:5px;}
.mr10 {margin-right:10px;}
.mr15 {margin-right:15px;}
.mr20 {margin-right:20px;}
.mr30 {margin-right:30px;}
.mr40 {margin-right:40px;}
.mr50 {margin-right:50px;}
.mr60 {margin-right:60px;}
.mt30 {margin-top: 30px;}
.mt50 {margin-top: 50px;}
.pt05 {padding-top:5px;}
.pt10 {padding-top:10px;}
.pt15 {padding-top:15px;}
.pt20 {padding-top:20px;}
.pt30 {padding-top:30px;}
.pt40 {padding-top:40px;}
.pt50 {padding-top:50px;}
.pt60 {padding-top:60px;}
.pb05 {padding-bottom:5px;}
.pb10 {padding-bottom:10px;}
.pb15 {padding-bottom:15px;}
.pb20 {padding-bottom:20px;}
.pb30 {padding-bottom:30px;}
.pb40 {padding-bottom:40px;}
.pl05 {padding-left:5px;}
.pl10 {padding-left:10px;}
.pl15 {padding-left:15px;}
.pl20 {padding-left:20px;}
.pl30 {padding-left:30px;}
.pl40 {padding-left:40px;}
.pr05 {padding-right:5px;}
.pr10 {padding-right:10px;}
.pr15 {padding-right:15px;}
.pr20 {padding-right:20px;}
.pr30 {padding-right:30px;}
.pr40 {padding-right:40px;}
.txt_l, td.txt_l, .txt_l td {text-align:left;}
.txt_r, td.txt_r, .txt_r td {text-align:right;}
.txt_c, td.txt_c, .txt_c td {text-align:center;}
.valign_t, td.valign_t, .valign_t td {vertical-align:top;}
.valign_m, td.valign_m, .valign_m td {vertical-align:middle;}
.valign_b, td.valign_b, .valign_b td {vertical-align:bottom;}
.ls0 {letter-spacing: 0em!important;}
@media screen and (max-width: 768px) {
.mt50 {margin-top: 30px;}
}

/*テキストなど  ------------------------------------------------------------------*/
.bold {font-weight: bold;}
.nobold {font-weight: normal;}
.grey {color: #adadad;}
.red {color: #cf3a7a;}
.pink {color: #e91d82;}
.white {color: #ffffff;}
.blue {color: #28cbd5;}
.txt12 {font-size: 12px;font-size: 1.2rem;}
.txt14 {font-size: 14px;font-size: 1.4rem;}
.txt15 {font-size: 15px;font-size: 1.5rem;}
.txt16 {font-size: 16px;font-size: 1.6rem;}
.txt18 {font-size: 18px;font-size: 1.8rem;}
.txt20 {font-size: 20px;font-size: 2.0rem;}
.txt22 {font-size: 22px;font-size: 2.2rem;}
.txt24 {font-size: 24px;font-size: 2.4rem;}
.txt26 {font-size: 26px;font-size: 2.6rem;}
.txt28 {font-size: 28px;font-size: 2.8rem;}
.txt30 {font-size: 30px;font-size: 3.0rem;}
.txt36 {font-size: 36px;font-size: 3.6rem;}
.txt40 {font-size: 40px;font-size: 4.0rem;}
.txt42 {font-size: 42px;font-size: 4.2rem;}
.txt48 {font-size: 48px;font-size: 4.8rem;}

@media screen and (max-width: 768px) {
.txt12 {font-size: 12px;font-size: 1.2rem;}
.txt14 {font-size: 14px;font-size: 1.4rem;}
.txt16 {font-size: 15px;font-size: 1.5rem;}
.txt18 {font-size: 16px;font-size: 1.6rem;}
.txt20 {font-size: 16px;font-size: 1.6rem;}
.txt22 {font-size: 18px;font-size: 1.8rem;}
.txt24 {font-size: 18px;font-size: 1.8rem;}
.txt26 {font-size: 22px;font-size: 2.0rem;}
.txt28 {font-size: 24px;font-size: 2.2rem;}
.txt30 {font-size: 24px;font-size: 2.2rem;}
.txt36 {font-size: 24px;font-size: 2.2rem;}
.txt40 {font-size: 26px;font-size: 2.4rem;}
.txt42 {font-size: 28px;font-size: 2.4rem;}
.txt48 {font-size: 32px;font-size: 3.0rem;}
}
.lh0 {line-height: 0}
.lh110 {line-height: 110%;}
.lh120 {line-height: 120%;}
.lh130 {line-height: 130%;}
.lh140 {line-height: 140%;}

/* --------------------------------------------------------------------------------------
 float解除
--------------------------------------------------------------------------------------- */
.clearfix:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }
.clearfix { display:inline-block; }
* html .clearfix { height:1%; }
.clearfix { display:block; }
*{zoom:1;}