@charset "utf-8";
/* 
====================================================================================================
■ basic setting
 □ tag
 □ class
■ additional
■ layout
 □ #site_header
 □ main
 □ #sub_area
 □ #site_footer
----------------------------------------------------------------------------------------------------
※ 基本的にテンプレとしての簡易な整形レベルです。必ずサイトに合わせて各種設定を見直すこと。 
※ font-sizeに関しては、リセット後、#wrapperに18px相当で指定済。そこからの相対指定で行うこと。
　（親要素に既に%指定済の場合、子孫要素は基準が変わるので注意してください。）
※ サイト制作後、不要と思われるコメントはなるべく削除し整理すること。
==================================================================================================== */
/* 
====================================================================================================
■ basic setting
----------------------------------------------------------------------------------------------------
 □ tag
---------------------------------------------------------------------------------------------------- */
html { background-color:#fff; /* 画面外背景色 */ font-family:メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
body { position: relative; margin: 0 auto; color:#2f2f2f; }
p,
li,
pre,
td,
th,
dt,
dd { line-height:1.5; }  /* 基本の行の高さ */
/* 
----------------------------------------------------------------------------------------------------
 □ class
---------------------------------------------------------------------------------------------------- */
/* 
--------------------------------------------------
 ▽ 文字装飾定義専用クラス
-------------------------------------------------- */
/* 主に新着情報への使用想定だが、通常コンテンツ内で使用も可 */
.text_left { text-align:left }
.text_right { text-align:right }
.text_center { text-align:center }
.text_justify { text-align:justify }
.text_nowrap { white-space:nowrap }
.text_lowercase { text-transform:lowercase }
.text_uppercase { text-transform:uppercase }
.text_capitalize { text-transform:capitalize }
.text_muted { color:#777 }
.text_normal { font-weight:normal !important; }
.text_bold { font-weight:bold; }
.text_red { color:#ff0000; }
.text_grey { color:#999999; }
.text_pink { color:#FF1493; }
.text_green { color:#39B221; }
.text_blue { color:#3399FF; } /* このブルーはリンク色のブルーとは色味を若干変える事を推奨 */
.text_yellow { color:#EECC00; }
.text_white { color:#F0F0F0; }
/* ページトップへのリンク */
.page_up { text-align:center; }
.page_up a { line-height:42px; /* ※これ以下のサイズ設定は非推奨 */ }
.page_up a:before { content:"▲"; } /* 文字列頭の装飾 */
/* 
--------------------------------------------------
 ▽ font-size設定専用クラス
-------------------------------------------------- */
/* デフォルトでは#wrapperに18px相当の指定が設定済みのため、そこからの相対値になります。
※親要素に既に%指定済みの場合は子孫要素は基準が変わるのでこのクラスの使用は出来れば避けます。 */
.f10 { font-size: 55.6% !important; } /* 10px */
.f11 { font-size: 61.2% !important; } /* 11px */
.f12 { font-size: 66.7% !important; } /* 12px */
.f13 { font-size: 72.3% !important; } /* 13px */
.f14 { font-size: 72.3% !important; } /* 14px */
.f15 { font-size: 83.4% !important; } /* 15px */
.f16 { font-size: 88.9% !important; } /* 16px */
.f17 { font-size: 94.5% !important; } /* 17px */
.f18 { font-size:100.0% !important; } /* 18px */
.f19 { font-size:105.6% !important; } /* 19px */
.f20 { font-size:111.2% !important; } /* 20px */
.f21 { font-size:116.7% !important; } /* 21px */
.f22 { font-size:122.3% !important; } /* 22px */
.f23 { font-size:127.8% !important; } /* 23px */
.f24 { font-size:133.4% !important; } /* 24px */
.f25 { font-size:138.9% !important; } /* 25px */
.f27 { font-size:150.1% !important; } /* 30px */
/* 
--------------------------------------------------
 ▽ margin設定専用クラス
-------------------------------------------------- */
.m00 { margin: 0px !important; }
.m05 { margin: 5px !important; }
.m10 { margin:10px !important; }
.m15 { margin:15px !important; }
.m20 { margin:20px !important; }
.m25 { margin:25px !important; }
.m30 { margin:30px !important; }
.m35 { margin:35px !important; }
.m40 { margin:40px !important; }
.m45 { margin:45px !important; }
.mt00 { margin-top: 0px !important; }
.mt05 { 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; }
.mt35 { margin-top:35px !important; }
.mt40 { margin-top:40px !important; }
.mt45 { margin-top:45px !important; }
.mr00 { margin-right: 0px !important; }
.mr05 { 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; }
.mr35 { margin-right:35px !important; }
.mr40 { margin-right:40px !important; }
.mr45 { margin-right:45px !important; }
.mb00 { margin-bottom: 0px !important; }
.mb05 { 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; }
.mb35 { margin-bottom:35px !important; }
.mb40 { margin-bottom:40px !important; }
.mb45 { margin-bottom:45px !important; }
.ml00 { margin-left: 0px !important; }
.ml05 { 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; }
.ml35 { margin-left:35px !important; }
.ml40 { margin-left:40px !important; }
.ml45 { margin-left:45px !important; }
/* 
--------------------------------------------------
 ▽ padding設定専用クラス
-------------------------------------------------- */
.p00 { padding: 0px !important; }
.p05 { padding: 5px !important; }
.p10 { padding:10px !important; }
.p15 { padding:15px !important; }
.p20 { padding:20px !important; }
.p25 { padding:25px !important; }
.p30 { padding:30px !important; }
.p35 { padding:35px !important; }
.p40 { padding:40px !important; }
.p45 { padding:45px !important; }
.pt00 { padding-top: 0px !important; }
.pt05 { 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; }
.pt35 { padding-top:35px !important; }
.pt40 { padding-top:40px !important; }
.pt45 { padding-top:45px !important; }
.pr00 { padding-right: 0px !important; }
.pr05 { 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; }
.pr35 { padding-right:35px !important; }
.pr40 { padding-right:40px !important; }
.pr45 { padding-right:45px !important; }
.pb00 { padding-bottom: 0px !important; }
.pb05 { 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; }
.pb35 { padding-bottom:35px !important; }
.pb40 { padding-bottom:40px !important; }
.pb45 { padding-bottom:45px !important; }
.pl00 { padding-left: 0px !important; }
.pl05 { 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; }
.pl35 { padding-left:35px !important; }
.pl40 { padding-left:40px !important; }
.pl45 { padding-left:45px !important; }
/* 
--------------------------------------------------
 ▽ radious（角丸）設定専用クラス
-------------------------------------------------- */
.r03 { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
.r04 { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.r05 { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
.r06 { -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
.r07 { -webkit-border-radius: 7px; -moz-border-radius: 7px; border-radius: 7px; }
.r08 { -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; }
.r09 { -webkit-border-radius: 9px; -moz-border-radius: 9px; border-radius: 9px; }
.r10 { -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; }
.r11 { -webkit-border-radius:11px; -moz-border-radius:11px; border-radius:11px; }
.r12 { -webkit-border-radius:12px; -moz-border-radius:12px; border-radius:12px; }
.r13 { -webkit-border-radius:13px; -moz-border-radius:13px; border-radius:13px; }
.r14 { -webkit-border-radius:14px; -moz-border-radius:14px; border-radius:14px; }
.r15 { -webkit-border-radius:15px; -moz-border-radius:15px; border-radius:15px; }
.r16 { -webkit-border-radius:16px; -moz-border-radius:16px; border-radius:16px; }
.r17 { -webkit-border-radius:17px; -moz-border-radius:17px; border-radius:17px; }
.r18 { -webkit-border-radius:18px; -moz-border-radius:18px; border-radius:18px; }
.r19 { -webkit-border-radius:19px; -moz-border-radius:19px; border-radius:19px; }
.r20 { -webkit-border-radius:20px; -moz-border-radius:20px; border-radius:20px; }
/* 
--------------------------------------------------
 ▽ 1カラムコンテンツ
-------------------------------------------------- */
.col01 { }
.col01 figure { margin:0 auto 10px; }
/* 
--------------------------------------------------
 ▽ 左右均等2カラムコンテンツ
-------------------------------------------------- */
.col02:after { display:block; clear:both; content:""; }
.col02 .float_l,
.col02 .float_r { width:50%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; box-sizing:border-box; }
.col02 .float_l { padding-right:1%; /* ここで余白設定 */ }
.col02 .float_r { padding-left:1%; /* ここで余白設定 */ }
/* 
--------------------------------------------------
 ▽ 2カラムコンテンツ(ul liの場合)
-------------------------------------------------- */
/* 左右2カラムデザイン（※ulに.col02を追加する事で切り替え） */
.col02>li { width:50%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; box-sizing:border-box; margin-bottom:10px; }
/* 左カラム */
.col02>li:nth-of-type(2n-1) {
 padding-right:1%;/* ここで余白設定 */
 float:left;
 clear:both;
}
/* 右カラム */
.col02>li:nth-of-type(2n) {
 padding-left:1%;/* ここで余白設定 */
 float:right;
}
.col02 figure { margin-bottom:10px; }
/* 
--------------------------------------------------
 ▽ 3カラムコンテンツ(ul liの場合)
-------------------------------------------------- */
/* 3カラムデザイン（※ulに.col03を追加する事で切り替え） */
.col03:after { display:block; clear:both; content:""; }
.col03>li { width:32%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; box-sizing:border-box; margin-bottom:10px; float:left }
/* 右(1)カラム */
.col03>li:nth-of-type(3n-2) {
 clear:both;
}
/* 左(3)カラム */
.col03>li:nth-of-type(3n) {
}
/* 中央(2)カラム */
.col03>li:nth-of-type(3n-1) {
 margin-left:2%;
 margin-right:2%;/* ここで余白設定(余白を指定した場合は.col03>liのwidthを変更) */
}
/* 
--------------------------------------------------
 ▽ 新着などのページネーション
-------------------------------------------------- */
.pagination { padding:0 2%; }
.pagination a { line-height:42px; }
/* 前へ */
.pagination .page_prev { float:left; }
/* 次へ */
.pagination .page_next { float:right; }
/* 戻る */
.pagination .page_back { text-align:center; }
/*
====================================================================================================
■ additional
---------------------------------------------------------------------------------------------------- */
.acco_box { clear:both; }
.acco_dv { display:none; }
.acco_a { display:block; cursor:pointer; }
.media_txt .txt { }
.media_txt .img { width: 45%; }
.media_txt .img img { width:100%; height:auto }
.pic_l .img { float:left; margin-right:10px; }
.pic_r .img { float:right; margin-left:10px; }
.media_txt .img_lg { width: 55%; }
.media_txt .img_lg img { width:100%; height:auto }
.pic_l .img_lg { float:left; margin-right:5px; }
.pic_r .img_lg { float:right; margin-left:5px; }
/*Less and More*/
.tn_box_maxheight { margin-bottom:10px; line-height:20px; }
.tn_box_maxheight .tn_box_maxheight_in { margin-bottom:0; line-height:20px; }
.maxheightline-0 .tn_box_maxheight_in { max-height:0px; overflow:hidden; }
.maxheightline-1 .tn_box_maxheight_in { max-height:20px; overflow:hidden; }
.maxheightline-2 .tn_box_maxheight_in { max-height:40px; overflow:hidden; }
.maxheightline-3 .tn_box_maxheight_in { max-height:60px; overflow:hidden; }
.maxheightline-4 .tn_box_maxheight_in { max-height:80px; overflow:hidden; }
.maxheightline-5 .tn_box_maxheight_in { max-height:100px; overflow:hidden; }
.maxheightline-6 .tn_box_maxheight_in { max-height:120px; overflow:hidden; }
.maxheightline-7 .tn_box_maxheight_in { max-height:140px; overflow:hidden; }
.maxheightline-8 .tn_box_maxheight_in { max-height:160px; overflow:hidden; }
.maxheightline-9 .tn_box_maxheight_in { max-height:180px; overflow:hidden; }
.maxheightline-10 .tn_box_maxheight_in { max-height:200px; overflow:hidden; }
.maxheightline-11 .tn_box_maxheight_in { max-height:220px; overflow:hidden; }
.maxheightline-12 .tn_box_maxheight_in { max-height:240px; overflow:hidden; }
.tn_box_maxheight.open .tn_box_maxheight_in { max-height:none; overflow:inherit; }
.tn_btn_maxheight { text-decoration:underline; display:block; cursor:pointer; color:#3567c0; font-weight:bold; }
/*
====================================================================================================
■ layout
---------------------------------------------------------------------------------------------------- */
#wrapper { width: 100%; /* サイトの実際の横幅（640px以下は画面サイズによって変動） */ max-width:320px; margin: 0 auto; background-color: #FFF; overflow:hidden; }
/* 
----------------------------------------------------------------------------------------------------
 □ #site_header
---------------------------------------------------------------------------------------------------- */
.t_time { text-align:right }
.t_logo{float:left; position:relative; z-index:10}
.sub_menu{background-color:#fff; border:solid 1px #072b75; border-top:solid 3px #072b75; padding:0px 10px;}
.sub_menu ul{padding:0px 0px}
.sub_menu ul li{border-bottom:dotted 1px #cccccc; }

/* 
--------------------------------------------------
 ▽ #gnav （グローバルナビゲーション）
-------------------------------------------------- */

/* 
----------------------------------------------------------------------------------------------------
  □ main
---------------------------------------------------------------------------------------------------- */
/*--- section ---*/
.sg_main section { margin-bottom:30px; padding: 0 2%; }
.sg_main section section { margin-bottom:20px; padding: 0 0%; }
/* 
----------------------------------------------------------------------------------------------------
  □ #sub_area
---------------------------------------------------------------------------------------------------- */
.main img { position:relative; margin-top:-26px; }
.ttl_sty01 { padding-bottom:10px }

.sub01 { position: relative; background-color: #f6f6f6; margin-bottom: 10px; }
.sub01 ul li.txt { padding: 8px 5px 10px 10px; }
.sub01 ul li.arrow { position: absolute; right: 15px; bottom: 5px; }
.sec02 { background-image: url(../images/bg05.png); background-repeat: repeat; background-position: left top; background-size:16px 12px; padding-top:10px; margin-bottom:20px }
.sec02 .ttl { padding-bottom:10px }
.sec02 li a:after { content: ""; position: absolute; display: block; left: 0; top: 0; width: 100%; height: 100%; }
.sec04 { background-color: #fff; position: relative; border: solid 3px #d3e2fd; margin-bottom: 10px; }
.sec04 .img { float:left; width:148px; }
.sec04 .txt { float:right; width:146px; padding:8px 5px }
.sec04 .arrow { position:absolute; bottom:5px; right:5px }
.sec04 a:after { content: ""; position: absolute; display: block; left: 0; top: 0; width: 100%; height: 100%; }
.wrap01 { padding:0px 10px }

.head_r { float:right; background-color:#eff7ff; padding:10px 16px}
.head_b { float:right }
.head_r > ul> li { float:left; margin-left:3px; padding-bottom:10px }
.head_b > ul { float:left }
.head_b > ul > li { float:left; }
.acco_box.menu { position:relative; margin-left:10px }
.sub_menu { position: absolute; right: -16px; top: 46px; z-index: 2000; width: 320px;/* background-color: #FFF; *//* border: solid 1px #757373; */
}
.sub_menu > ul > li.special { padding-bottom:0px !important; background-image:none }
.sub_menu > ul > li >a { text-decoration:none; color:#444444; display:block; padding-bottom:10px; padding-top:10px }

.pageup { text-align:right; padding-bottom:20px }
.pageup a { color:#666666 }

/* 
----------------------------------------------------------------------------------------------------
 □ #site_footer
---------------------------------------------------------------------------------------------------- */
.foot_t{background-image:url(../common_img/f_bg01.png); background-repeat:no-repeat; background-position:left top; background-size: 320px 26px; padding-top:40px}
.foot_t_a{background-image:url(../common_img/f_bg02.png); background-repeat:no-repeat; background-position:left top; background-size:291px 437px; height:437px}
.foot_t_a .f_logo{margin-left:70px;}
.foot_t_a p{padding-bottom:10px;}
.foot_t_a ul li{background:url(../common_img/arrow.png) no-repeat left 5px; background-size:8px 9px; padding-left:12px; margin-bottom:13px}
.foot_t_a ul.first li{float:left; margin-left:20px}
.foot_t_a ul.first li.first{margin-left:0px}
.foot_t_a a{text-decoration:none; color:#6a6a6a}
.f_btn{text-align:center; padding-bottom:20px}


.topc {  text-align:center; padding:10px }
.topc a { color:#224259 }
.swiper-container { margin: 0 auto; position: relative; overflow: hidden; -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -o-backface-visibility: hidden; backface-visibility: hidden; z-index: 1; }
.swiper-wrapper { position: relative; width: 100%; -webkit-transition-property: -webkit-transform, left, top; -webkit-transition-duration: 0s; -webkit-transform: translate3d(0px, 0, 0); -webkit-transition-timing-function: ease; -moz-transition-property: -moz-transform, left, top; -moz-transition-duration: 0s; -moz-transform: translate3d(0px, 0, 0); -moz-transition-timing-function: ease; -o-transition-property: -o-transform, left, top; -o-transition-duration: 0s; -o-transform: translate3d(0px, 0, 0); -o-transition-timing-function: ease; -o-transform: translate(0px, 0px); -ms-transition-property: -ms-transform, left, top; -ms-transition-duration: 0s; -ms-transform: translate3d(0px, 0, 0); -ms-transition-timing-function: ease; transition-property: transform, left, top; transition-duration: 0s; transform: translate3d(0px, 0, 0); transition-timing-function: ease; }
.swiper-free-mode > .swiper-wrapper { -webkit-transition-timing-function: ease-out; -moz-transition-timing-function: ease-out; -ms-transition-timing-function: ease-out; -o-transition-timing-function: ease-out; transition-timing-function: ease-out; margin: 0 auto; }
.swiper-slide { float: left; }
.swiper-wp8-horizontal { -ms-touch-action: pan-y; }
.swiper-wp8-vertical { -ms-touch-action: pan-x; }
.swiper-container { }
.swiper-slide { }
.swiper-slide-active { }
.swiper-slide-visible { }
.swiper-pagination-switch { }
.swiper-active-switch { }
.swiper-visible-switch { }
/* 両サイドスライドをチラ見せする設定*/
.slide_wrapper { background-color:#eee; overflow: hidden; width: 100%; height: 164px; margin-bottom: 10px; padding-left: 50%;/* 1/2の位置からスタート */ z-index: 1; }
/* メインスライド 1枚分の設定に */


.tn-box-maxheight { font-size:100%; color:#4a452a; line-height:20px; }
.tn-box-maxheight .tn-box-maxheight-in { margin-bottom:0; line-height:20px; }
.maxheightline-0 .tn-box-maxheight-in { max-height:0px; overflow:hidden; }
.maxheightline-1 .tn-box-maxheight-in { max-height:20px; overflow:hidden; }
.maxheightline-2 .tn-box-maxheight-in { max-height:40px; overflow:hidden; }
.maxheightline-3 .tn-box-maxheight-in { max-height:60px; overflow:hidden; }
.maxheightline-4 .tn-box-maxheight-in { max-height:80px; overflow:hidden; }
.maxheightline-5 .tn-box-maxheight-in { max-height:100px; overflow:hidden; }
.maxheightline-6 .tn-box-maxheight-in { max-height:125px; overflow:hidden; }
.maxheightline-7 .tn-box-maxheight-in { max-height:140px; overflow:hidden; }
.maxheightline-8 .tn-box-maxheight-in { max-height:160px; overflow:hidden; }
.maxheightline-9 .tn-box-maxheight-in { max-height:180px; overflow:hidden; }
.maxheightline-10 .tn-box-maxheight-in { max-height:200px; overflow:hidden; }
.maxheightline-11 .tn-box-maxheight-in { max-height:220px; overflow:hidden; }
.maxheightline-12 .tn-box-maxheight-in { max-height:240px; overflow:hidden; }
.maxheightline-15 .tn-box-maxheight-in { max-height:271px; overflow:hidden; }
.maxheightline-13 .tn-box-maxheight-in { max-height:225px; overflow:hidden; }
.maxheightline-14 .tn-box-maxheight-in { max-height:260px; overflow:hidden; }
.maxheightline-16 .tn-box-maxheight-in { max-height:280px; overflow:hidden; }
.tn-box-maxheight.open .tn-box-maxheight-in { max-height:none; overflow:inherit; }
.tn-btn-maxheight { text-decoration:underline; display:block; }
.text-right { text-align:right }
