@charset "utf-8";
/*
=======================================
  Reset CSS
=======================================
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, main, menu, nav, section, summary,
time, mark, audio, video{
margin:0;
padding:0;
}
* {
box-sizing: border-box;
}
*::before, *::after {
box-sizing: inherit;
}
article,aside,details,figcaption,figure,
footer,header,main,menu,nav,section{
  display:block;
}
html{
-webkit-text-size-adjust: 100%;
}
body {
font-family: Meiryo, sans-serif;
color: #3a3a3a;
line-height: 1.5;
letter-spacing: 0.6px;
font-size: 14px;
background: url(../img/bg.jpg) repeat;
}
img{
border: 0;
max-width: 100%;
height: auto;
}
hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 1px dashed #ccc;
 }
h1,h2, .fm , table caption , .info_p , .mincho ,#nav-toggle div div , .header-copy , .sub_copy , .btn-push , .top_comment , .top_comment2 p  {
font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}
.h2 , .h2_2 {
max-width:852px;
margin: 0 auto;
padding: 12px 0 24px 0;
font-size: 22px;
line-height: 1.4;
letter-spacing: 2px;
}

.h2::before , .h2_2::before ,
.sub_h1 h1::before {
content: "";
display: inline-block;
width:26px;
height:26px;
margin-right:14px;
background: url(../img/icon_h2.svg) no-repeat;
background-size: contain;
position: relative;
bottom:-3px;
}
.h2_2::before {
background: url(../img/icon_h.svg) no-repeat;
}

@media screen and (max-width: 559px) {
.h2 , .h2_2 {
font-size: 18px;
letter-spacing: 0;
}
.h2::before , .h2_2::before {
width:20px;
height:20px;
margin-right:8px;
}
}

h3 , h4 {
margin: 32px 0 32px 0;
letter-spacing: .2em;
padding: 4px 8px;
background-color:#f2f3f3;
}
h3:before {
content: '◆';
}
@media screen and (max-width: 559px) {
    h3 {
    letter-spacing: 0;
    padding: 16px 16px;
    }
}
h3.stay_h3 {
color: #d14c4a;
background: linear-gradient(transparent 70%, #fff3f3 70%);
}
h3.stay_h3:before {
content: '';
}
@media screen and (max-width: 559px) {
    h3.stay_h3 {
    padding: 0;
    margin-top: 64px;
    }
}
.sub_h1 {
max-width:960px;
max-height:88px;
margin: 0 auto;
margin-top: 80px;
padding: 18px 0;
background-size: 960px 88px;
background:#1e283a;
}
.sub_h1 h1 {
font-size: 28px;
text-shadow: 1px 1px 3px #fff;
padding: 4px 0 4px 48px ; 
background: linear-gradient(90deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.6)) no-repeat;
background-size: 100% 98%;
}


@media screen and (max-width: 559px) {
.sub_h1 h1 {
font-size:22px;
font-weight: bold;
margin: 0;
padding-left:24px;
}}

.sub_copy {
	font-size: 150%;
	font-weight: bold;
	font-style:oblique;
	letter-spacing: .2em;
	padding: 4px 0 4px 20px;
    margin: 16px 0 16px 0;
	background-color:#f2f3f3;
	padding: 4px;
}

@media screen and (max-width: 559px) {
    .sub_copy {
    text-align: center;
	font-size: 120%;
	letter-spacing: 0;
	padding: 8px 0 8px 0;
    background: none;
    margin-top: 0;
margin-bottom:32px;
border-bottom: 1px solid gray;
    }
}


ul{
list-style-type: none;
}
.ul>li {
list-style-type: disc;
margin: 0 0 1.8em 1.2em;
}
.ul2>li {
list-style-type: disc;
margin: 0 0 0 1.2em;
}
.ul3>li {
list-style-type: disc;
margin: 0 0 0.5em 1.2em;
}
.ul4>li {
margin: 0 0 32px 0;
}
.ul5>li {
margin: 0 0 1.5em 1.2em;
list-style-type: disc;
}
.ul5>li a {
text-decoration: none;
}
.ol {
list-style-type: none;
counter-reset: my-counter;
margin: 8px 0 0 32px;
}
.ol2 {
margin: 8px 0 0 1.8em;
}
.ol > li {
margin-bottom: 4px;
position: relative;
}
.ol > li:before {
content: counter(my-counter);
counter-increment: my-counter;
background: #ccdceb;
display: block;
float: left;
line-height: 20px;
margin-left: -28px;
text-align: center;
height: 20px;
width: 20px;
border-radius: 50%;
}

.amenity dt:before,
.hotelmap_list dt:before,
.fee_box dl dt:before,
.swiper-container2 .ufured:before {
content: '◆';
}


table {
border-collapse: collapse; 
border-spacing: 0;
}
img, input, select, textarea { 
vertical-align: middle;
}
a {
color: #08457f;
/*text-decoration: none;*/
}
a:hover {
color: #ff4b48;
}
.container p {
margin-bottom: 1em;
}
@media(min-width: 560px) {
    a[href^="tel:"]{
        pointer-events: none;
        text-decoration: none;
    }
}
.container {
max-width: 840px;
margin: 0 auto;
}

@media screen and (min-width: 560px) {
  /*汎用2カラム,3カラム指定*/
  .pc-grid-col2,
  .pc-grid-col3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .pc-grid-col2 .col {
    width: 44%;
  }
  .pc-grid-col3 .col {
    width: 31.9148%;
  }
}



/*contents*/
.contents {
max-width:960px;
padding: 24px 24px 64px 24px;
margin: 0 auto;
background: #fff;
}
.main {
min-height: 800px;
}
.header-contents {
height: 128px;
position: relative;
/* background: url(../img/bg_header.jpg) left top / contain repeat-x; */
}
/*ヘッダー　ロゴ*/
.header-logo {
width: 70px;
height: 104px;
padding-top:14px; 
margin-left: 16px;
}
/*ヘッダー　コピー*/
.header-copy {
height: 24px;
font-size: 13px;
font-weight:bold;
white-space: nowrap;
line-height: 1;
padding: 6px 0;
background: #d2a40a;
color:#fff;
text-align: center;
}
/*お問合せの設定*/
.info {
width: 190px;
position: absolute;
top: 8px;
right: 70px;
}
.info_p {
font-size: 12px;
font-weight: bold;
}
.info-add {
font-size: 10px;
}
.info-dl {
margin-top: 4px;
}
.info-dl dl {
width: 24em;
display:inline-block; 
text-align: left;
}
.info dt {
float: left ;
clear: left ;
width: 1.5em ;
font-size: 12px;
line-height: 18px;
}
.info dd {
font-size: 12px;
line-height: 18px;
}
/*ヘッダー　PC*/
@media screen and (min-width: 560px) {
    .header-contents {
    max-width: 960px;
    height: 180px;
    margin: 0 auto;
    padding: 16px 24px 0 24px;
background: #fff;
    }
    .header-copy {
    position: absolute;
    top: 16px;
    left: 200px;
    height: 150px;
    text-align: left;
    line-height:1.4em;
    -ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
    display: inline-block;
    border: none;
    }
    #global-nav nav {
    position: relative;
    }
    .header-logo {
    width: 150px;
    padding: 0;
    margin: 0;
    }
    .info {
    position: absolute;
    top: 16px;
    right:24px;
    width: 290px;
    padding: 16px;
    background: #e1e7f4;
    border-radius: 8px;
}
    .info_p {
    margin-bottom: 2px;
    font-size: 16px;
    }
    .info dt,.info dd {
    line-height: 30px;
    }
    .info dd {
    font-size: 16px;
    }
    .info-add {
    font-size: 12px;
    }
}

/*グローバルナビ pc用*/
#global-nav {
width: 100%;
height: 80px;
text-align: center;
background: linear-gradient(180deg,#2e3b56 0%,#2e3b56 60%,#fff6db 60%,#fff6db 100%);
position: absolute;
z-index:998;
}
#global-nav nav {
max-width: 960px;
height: 80px;
margin: 0 auto;
}
#global-nav ul {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
}
#global-nav ul li {
width: 20%;
height: 48px;
font-size: 20px;
line-height: 1;
white-space: nowrap;
}
#global-nav ul li.global-nav-s {
width: 130px;
height: 32px;
font-size: 14px;
line-height: 1;
letter-spacing: 0.4px;
}
#global-nav ul li a {
display: block;
color: #fff;
padding: 14px 0;
text-decoration: none;
}
#global-nav ul li a:hover {
color: #000;
background: #bbc4d6;
text-decoration: none;
}
#global-nav ul li.global-nav-s a {
color: #000;
padding: 9px 0;
filter: none;
}
#global-nav ul li.global-nav-s 
a[href^="http"] {
padding: 9px 0;
}
#global-nav ul li.global-nav-s a:hover {
background: #fff;
}
#global-nav ul li.global-nav-s-visit a {
padding: 9px 0;
filter: none;
background: #fff;
}
#global-nav ul li.global-nav-visit a {
padding: 14px 0;
filter: none;
background: #bbc4d6;
color:#000;
}
.inner {
width: 100%;
margin: 0 auto;
}
.inner:after {
content: "";
clear: both;
display: block;
}
 
/* Toggle Button */
#nav-toggle {
display: none;
position: absolute;
right: 0;
top: 0;
width: 64px;
height: 104px;
padding: 24px 12px 0 11px;
text-align: center;
cursor: pointer;
z-index: 101;
background:#2e3b56;
}
#nav-toggle div {
position: relative;
}
.nav-toggle-span {
display: block;
position: absolute;
height: 3px;
width: 42px;
background: #fff;
left: 0;
-webkit-transition: .35s ease-in-out;
-moz-transition: .35s ease-in-out;
transition: .35s ease-in-out;
}
.nav-toggle-span:nth-child(1) {
top: 0;
}
.nav-toggle-span:nth-child(2) {
top: 12px;
}
.nav-toggle-span:nth-child(3) {
top: 24px;
}
#nav-toggle div div {
top: 36px;
color: #fff;
font-size: 12px;
font-weight:bold;
}
@media screen and (max-width: 559px) {
    #header,
    .inner {
    width: 100%;
    padding: 0;
    }
    #header {
    top: 0;
    position: fixed;
    z-index: 898;
    margin-top: 0;
    }
    #mobile-head {
    background: #fff;
    width: 100%;
    z-index: 899;
    position: relative;
    }
    #global-nav {
    position: absolute;
    /* 開いてないときは画面外に配置 */
    top: -532px;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    text-align: center;
    z-index:101;
    }
    #global-nav nav {
    height: auto;
    padding: 4px 0;
    background: #fff9e6;
    text-align: center;
    }
    #global-nav ul {
    position: static;
    height: auto;
    right: 0;
    bottom: 0;
    display: block;
    background: none;
    }
    #global-nav ul li , #global-nav ul li.global-nav-s {
    width: 100%;
    height: auto;
    padding: 0;
    float: none;
    position: static;
    font-size:16px;
    border-bottom: 1px solid #ccc;
    font-weight: bold;
    }
    #global-nav ul li a {
    color:#000;
    filter: none;
    }
    #global-nav ul li a:hover {
    text-decoration: underline;
    background: none;
    }
    #global-nav ul li.global-nav-s a:hover {
    text-decoration: underline;
    background: none;
    }
    #header #global-nav ul li a {
    width: 100%;
    display: block;
    padding: 16px 0;
    }
    #global-nav ul li.global-nav-visit a,
    #global-nav ul li.global-nav-s-visit a {
    width: 100%;
    display: block;
    padding: 16px 0;
    color: #555;
    filter: none;
    background: #fff;
    }
    #global-nav ul li.global-nav-visit a:hover,
    #global-nav ul li.global-nav-s-visit a:hover {
    color: #555;
    background: #fff;
    }
    #nav-toggle {
    display: block;
    }
    .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
    }
    .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135eg);
    transform: rotate(-135deg);
    }
    .open #global-nav {
    -moz-transform: translateY(656px);
    -webkit-transform: translateY(656px);
    transform: translateY(656px);
    }
    .main {
    margin-top: 128px;
    }
}
/*トップページ*/
.swiper-container {
max-width: 960px;
margin: 0 auto;
/*margin-top: 80px;*/
}
@media screen and (max-width: 559px) {
.swiper-container {
margin: 0;
}
}

#top_news {
margin:24px 0;
}
.top_news_p {
text-align:center;
margin:auto;
}
#top_news dt {
font-weight:bold;
color:red;
}
#top_news dd {
padding-bottom:1em;
}
#top_news ul {
margin-top:1em;}
#top_news li {
margin-bottom:1em;}
#top_news strong {
font-size:140%;
text-decoration: underline;}
.dropdown{
  display:none;
	border :1px solid #000;
	padding:24px;
	margin-top:16px;
}
.aonoma {color: #566cd5;}
.akanoma {color: #d76367;}
.red {color:red;}
.b {font-weight:bold;}
.u {text-decoration:underline;}
input[type="checkbox"]{
 display:none;
}
label[for="menu_d"]{
  display:block;
}
label[for="menu_d"]::before{
  transform:rotate(225deg);
}
#menu_d:checked + .dropdown{
  display:block;
}
label[for="menu_d2"]{
  display:block;
}
label[for="menu_d2"]::before{
  transform:rotate(225deg);
}
#menu_d2:checked + .dropdown{
  display:block;
}
@media screen and (max-width: 559px) {
#top_news strong {
font-size:100%;}
}

@media screen and (min-width: 960px) {
.top_comment_h2 {
margin-left:100px;
}}
@media screen and (max-width: 959px) {
.top_comment_h2 {
text-align:center;
}
}
@media screen and (min-width: 560px) {
.top_comment  {
width: 580px;
}
}

.top_comment {
font-size:110%;
line-height:2.4em;
letter-spacing:0.1em;
font-weight:bold;
}

.top_comment2 {
padding-left:2em;
font-size:110%;
font-weight:bold;
}
@media screen and (max-width: 959px) {
.top_comment  {
letter-spacing:none;
font-weight:normal;
line-height:2em;
}
.top_comment  .mincho {
font-weight:bold;
}
}

/*ご利用案内*/
.hotelmap_list {
	width:790px;
	font-size:110%;
}
.firstfloor {
	width:500px;
	float:left;
}
.secondfloor {
	width:270px;
	float:right;
}
.hotelmap_list:after   {
     content: "."; 
     display: block; 
     visibility: hidden; 
     height: 0.1px; 
     font-size: 0.1em; 
     line-height: 0; 
     clear: both; 
}
.hotelmap_list li {
	list-style-type: none;
	float: left;
	margin-right:20px;
}

.swiper-container2 {
	clear:both;
}
.swiper-container2 {
max-width: 640px;
margin: 0 auto;
/*margin-top: 80px;*/
}
@media screen and (max-width: 559px) {
    .swiper-container2 {
    margin: 0;}
}
.amenity dt {
font-weight:bold;
}
.amenity dd {
margin-left: 1em;
}
.fee_box {
	min-height: 50px;
	height: auto !important;
	height: 50px;
	border-radius: 10px;
	padding: 20px 40px;
	box-shadow:1px 2px 6px #000;
	margin-bottom: 50px;
}
@media screen and (max-width: 559px) {
.fee_box {
	padding: 20px 20px;}
}
.fee_box dl dl dt {
font-weight:bold;
margin-top: 24px;
}
.fee_box p {
margin-top: 16px;
font-size:90%;
}
.pdf {
	width:180px;
	border: solid 1px #000;
	padding: 6px 3px 0 3px ;
	border-radius: 3px;
	background-color: #f7f7f7;
	text-align:center;
}
.pdf a {
	font-weight:bold;
	text-decoration: none;
}
.box {
padding: 16px;
background: #f4faff;
}

#shuuhenntizu img {
border: 1px solid gray;
}

/*アクセス*/
.access_car dl {margin-bottom:24px;}
.access_car dt {font-weight: bold;margin-bottom:8px;}
.access_car dt:before {content: '●';}


/*予約*/
.btn-push {
  display: inline-block;
    max-width:320px;
  text-align: center;
  background-color: #ffc5c3;
  font-size: 20px;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  padding: 16px 24px;
  border-radius: 4px;
  border-bottom: 4px solid #ea9391;
}
.btn-push:active {
    transform: translateY(4px);
    border-bottom: none;
}
.btn-push2 {
  display: inline-block;
	width:250px;
  text-align: center;
  background-color: #ffc5c3;
  font-size: 20px;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  padding: 10px 24px;
  border-radius: 4px;
  border-bottom: 4px solid #ea9391;
}
.btn-push2:active {
    transform: translateY(4px);
    border-bottom: none;
}
.map iframe {
width: 100%;
}


/*旅のお手伝い*/
.tourism .ul4 dt {
font-weight: bold;
}

/*QA*/
.faq_dl dt {
margin-bottom: 8px;
padding: 10px 0 8px 2.4em;
background-color:#f2f3f3;
font-weight: bold;

}
.faq dt::before, .faq dd::before {
margin: 0 0.7em 0 -2em;
border-radius: 50%;
display: inline-block;
width: 1.3em;
height: 1.3em;
line-height: 1.2em;
}
.faq dt::before {
content: 'Q';
font-weight: normal;
}
.faq dd::before {
content: 'A';
}
.faq dl dd:last-of-type {
border-bottom: none;
margin: 0;
}
.faq dd {
margin-bottom: 16px;
padding: 0 0 24px 2.4em;
border-bottom: 1px dashed #ccc;
}
.faq dt::before, .faq dd::before {
margin: 0 0.7em 0 -2em;
border-radius: 50%;
display: inline-block;
width: 1.3em;
height: 1.3em;
line-height: 1.2em;
}
.faq dt::before {
content: 'Q';
font-weight: normal;
}
.faq dd::before {
content: 'A';
}
.faq dl dd:last-of-type {
border-bottom: none;
margin: 0;
}

/*サイトマップ*/
.sitemap dt {
font-size:120%;
font-weight: bold;
}
.sitemap dd {
margin-bottom: 32px;
}

/*プライバシーポリシー*/
.pp h3 {
font-size: 110%;
}
h3:before {
content: '';
}

/*館内写真*/
.gallery p {

display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 0 24px;
}


#aniimated-thumbnials,
#aniimated-thumbnials2 {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 0 24px;
}
#aniimated-thumbnials a,
#aniimated-thumbnials2 a {
width: 32%;
align-self: center;
margin-bottom: 12px;
}
#aniimated-thumbnials img,
#aniimated-thumbnials2 img {
width: 100%;
height: 120px;
object-fit: cover;
font-family: 'object-fit: cover;';
}
@media screen and (min-width: 960px) {
    .sub-gallery-container {
    max-width: 912px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;    
    }
}


/*金沢教室・津幡教室*/
.map iframe {
width: 100%;
}
.access img {
box-shadow: 0 0 8px #ccc;
}
.access .u2 {
font-size:90%;
line-height: 1.8em;
}
.access_link a::after {
content: "≫";
}
.access_link a::before {
content: "≪";
}

table{
width: 100%;
border-spacing: 0;
border: 1px solid #ccc;

}

table th{
width: 24%;
border: 1px solid #ccc;
background: #f7f7f7;
padding: 10px 0;
}
table td{
border: 1px solid #ccc;
padding: 10px;
}


/*講師紹介*/
.shoreki dl dt {
width: 5.5em;
margin-bottom: 8px;
float: left;
color:gray;
}
.shoreki dl {
clear:both;
}
.sakuhin .pc-grid-col3 {
padding: 24px;
margin-top:-24px;
background: gray;
text-align: center;
}
.sakuhin .pc-grid-col3 li {
margin-bottom: 16px;
}

/*サイトマップ*/
.sitemap-contents li {
margin-bottom: 24px;
}
.sitemap-contents dt {
font-weight: bold;
}
.sitemap-contents dd {
margin-left: 1em;
}

/*リンクボタン*/
.link-btn {
display:inline-block;
position: relative;
width: 100%;
font-size: 110%;
text-align: center;
font-weight: bold;
-webkit-transition: none;
transition: none;  
padding: 14px 0;
margin-top: 16px;
background: #ffe8f2;
box-shadow: 0 4px 0 #e3e3e3;
border-radius: 10px;
}
.link-btn:active {
top: 4px;
box-shadow: none;
}

/*リンクボタン（共有）*/
@media screen and (min-width: 560px) {
    .btn-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    }
    .btn-flex li {
    width: 31.9148%;
    }
}
/*リンクボタン2.3*/
.link-btn2,
.link-btn3 {
color:#000;
letter-spacing: 2px;
font-weight: normal;
}
.link-btn2 {
background: linear-gradient(#eef7ff,#d2eaff);
}
.link-btn3 {
background: linear-gradient(#f2edff,#ddcfff);
}
.link-btn2:hover,
.link-btn3:hover {
color: gray;
}
@media screen and (min-width: 560px) {
    .btn-flex2,btn-flex3 {
    display: none;
    }
}
/*オリジナルサービス（共有）*/
.service dt {
font-size:120%;
color: #ff7fb6;
}
.service .container ol {
background:url(../img/bg_service.png) right bottom / contain no-repeat;
}

/*キャンペーンバナーの設定*/
.bnr_cp {
max-width:400px;
margin: auto;
display: flex;
justify-content: space-between;
align-items: stretch;
}

.bnr_cp img {
max-width:180px;
}
@media screen and (max-width: 599px) {
.bnr_cp {
max-width:260px;
}
.bnr_cp img {
max-width:120px;
}
}

/*フッターの設定*/
.footer {
letter-spacing: 1px;
font-size: 90%;
background:#e1e7f4 ;
padding: 16px 0;
text-align: center;
}
.footer h2 {
font-size:18px;
letter-spacing: 2px;
margin-bottom:16px;
}
.footer-nav {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
text-align: center;
}
.footer-nav li {
margin: 0 20px 8px 0;
text-decoration: underline;
}
.footer-nav {
margin-bottom: 16px;
}
.footer-nav li:last-of-type {
margin: 0;
}
.footer small {
letter-spacing: 0;
white-space: nowrap;
}


@media screen and (max-width: 599px) {
.footer h2 {
font-size:16px;
letter-spacing: 0;
}
.footer-nav {
margin-bottom: 8px;
}
.footer-nav li {
margin-right: 16px;
text-decoration: underline;
}
}

/*pagetop*/
.pagetop{
width: 45px;
height: 45px;
position: fixed;
right: 16px;
bottom: 32px;
z-index:999;
}
.pagetop a {
display: block;
width: 50px;
height: 50px;
padding-top: 6px;
box-sizing: border-box;
background:rgba(210,164,10,0.5);
border-radius: 50%;
text-align: center;
text-decoration: none;
font-weight: bold;
font-size: 12px;
color: #fff;
}
.pagetop a:hover {
background: rgba(210,164,10,0.2);
background-blend-mode: lighten;
color: #ff4b48;
}
.pagetop a::before {
content: "▲";
display: block;
margin: auto;
}
/*404*/
.page-404 {
    min-height: 546px;
}
.page-404 p {
    margin-top: 1.2em;
}

/*
=========================================
  Utilities
=========================================
*/
.link_mark a::after {
content: " >>";
}
small {
    font-size: 12px;
}
@media screen and (max-width: 959px) {
        small {
        font-size: 11px;
    }
}
/* タブレット以下のサイズでは非表示にする改行 */
@media screen and (max-width: 959px) {
  .pc_br {
    display: none;
  }
}
/* スマホ以下のサイズでは非表示にする改行 */
@media screen and (max-width: 559px) {
  .tb_br {
    display: none;
  }
}
/* スマホ以上のサイズでは非表示にする改行 */
@media screen and (min-width: 560px) {
  .sp_br {
    display: none;
  }
}
/* 別ウィンドウで開くサイトへのアイコン */
a[href^="http"]:after {
    font-weight: normal;
    font-size: 80%;
    font-family: "icomoon"; content: "\ea7e"; padding-right: 10px;
}
/* 別ウィンドウで開くサイトへのアイコン非表示 */
.link-noicon
a[href^="http"]:after {
    content: none;
}
/* 文字サイズ
---------------------------------*/
.fs10{ font-size: 10px;}
.fs12{ font-size: 12px;}
.fs14{ font-size: 14px;}
.fs16{ font-size: 16px;}
.fs18{ font-size: 18px;}
.fs20{ font-size: 20px;}
.fs22{ font-size: 22px;}

/* マージン
---------------------------------*/
.mt8{ margin-top: 8px !important;}
.mt16{ margin-top: 16px !important;}
.mt24{ margin-top: 24px !important;}
.mt32{ margin-top: 32px !important;}
.mt40{ margin-top: 40px !important;}
.mt64{ margin-top: 64px !important;}
.mt80{ margin-top: 80px !important;}
.mb8{ margin-bottom: 8px !important;}
.mb16{ margin-bottom: 16px !important;}
.mb24{ margin-bottom: 24px !important;}
.mb32{ margin-bottom: 32px !important;}
.mb40{ margin-bottom: 40px !important;}
.mb64{ margin-bottom: 64px !important;}

/* 左右行揃え
---------------------------------*/
.ta-l{ text-align: left; }
.ta-r{ text-align: right; }
.ta-c{ text-align: center; }

/* フロート／フロート解除
---------------------------------*/
@media screen and (min-width: 960px) {
.fl{ float:left; }
.fr{ float:right; }
.clear{ clear:both; }
}
/* clearfix */
.clearfix:after {
  content: ""; 
  display: block; 
  clear: both; 
}
/*打ち消し線*/
.strike {
     text-decoration: line-through;
}
/*文字色*/
.red {
    color: red;
}
.ufured {
color: #d14c4a;
}

.gray {
    color: gray;
}
/*アンダーライン*/
.u {
    text-decoration: underline;
}
.u2 {
border-bottom: dashed 1px #ccc;
}
.b {
    font-weight: bold;
}
.s {
    font-size: 86%;
}
@media screen and (max-width: 559px) {
.s_sp {font-size: 86%;}
}

.s_u {
	font-size:80%;
}

.b_mu {
	font-size:120%;
}
/*スマホの時に固定ヘッダー分上に表示する*/
@media screen and (max-width: 559px) {
        .anchor {
        display: block;
        padding-top: 130px;
        margin-top: -130px;
    }
}