@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; /* 画面外背景色 */ }

body { position: relative; margin: 0 auto; font-family: メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

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: #E75942; }

.text_grey { color: #999999; }

.text_pink { color: #FF1493; }

.text_green { color: #39B221; }

.text_blue { color: #3399FF; }

/* このブルーはリンク色のブルーとは色味を若干変える事を推奨 */
.text_yellow { color: #EECC00; }

.text_white { color: #F0F0F0; }

/* ページトップへのリンク */
/* 
--------------------------------------------------
 ▽ 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, .f14 { font-size: 72.3% !important; }

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

/* 
--------------------------------------------------
 ▽ width
-------------------------------------------------- */
.w10 { width: 10% !important; }

.w20 { width: 20% !important; }

.w30 { width: 30% !important; }

.w40 { width: 40% !important; }

.w45 { width: 45% !important; }

.w50 { width: 50% !important; }

.w60 { width: 60% !important; }

.w70 { width: 70% !important; }

.w80 { width: 80% !important; }

.w90 { width: 90% !important; }

.w100 { width: 100% !important; }

/*
====================================================================================================
■ layout
---------------------------------------------------------------------------------------------------- */
#wrapper { width: 100%; /* サイトの実際の横幅（640px以下は画面サイズによって変動） */ max-width: 480px; margin: 0 auto; overflow: hidden; color: #000; background: url(../common_img/base.jpg) repeat-y center center; background-size: 480px 100px; -webkit-background-size: 480px 100px; -moz-background-size: 480px 100px; }

/* 
----------------------------------------------------------------------------------------------------
 □ #site_header
---------------------------------------------------------------------------------------------------- */
.sg_header { padding: 3.125% 2.08333% 2.08333%; position: relative; }

.header_in { position: relative; margin: 0; padding: 0; }

.menu_btn li { margin: 0 0 0 10px; }

.menu_btn li a { text-decoration: none; display: block; text-align: center; }

.menu_btn li.opened img { opacity: 0; }

.h_text { float: right; clear: right; margin: 0; }

/* 
----------------------------------------------------------------------------------------------------
  □ main
---------------------------------------------------------------------------------------------------- */
/*--- section ---*/
.sg_main { padding: 0 10px; }

img { max-width: 100%; }

.col02 li { width: 49%; float: left; }

.col02 li:nth-child(2n) { float: right; }

.col02 li:nth-of-type(2n-1) { float: left; clear: both; }

.col02 li:nth-of-type(2n) { float: right; }

.col03 li { width: 32%; float: left; margin: 0 2% 0 0; }

.col03 li:nth-child(3n) { margin: 0; }

/* 
----------------------------------------------------------------------------------------------------
  □ #Sidebar
---------------------------------------------------------------------------------------------------- */
/* 
----------------------------------------------------------------------------------------------------
  □ #sub_area
---------------------------------------------------------------------------------------------------- */
.center { text-align: center; }

.right { text-align: right; }

img.fl_right { float: right; margin-left: 10px; }

img.fl_left { float: left; margin-right: 10px; }

.pagination { text-align: center; }

.pagination li { float: left; }

.pagination li:last-child { float: right; }

.pagination li a { display: block; font-weight: bold; text-decoration: none; text-align: center; padding: 5px 10px; background: #956134; color: #fff; }

.back { width: 120px; margin: -31px auto 0; }

.back a { display: block; font-weight: bold; text-decoration: none; text-align: center; padding: 5px 10px; background: #956134; color: #fff; }

.maxheight_hide { display: none; }

.readmore { display: block; text-align: right; text-decoration: underline; color: #ab8448; }

.hidden { display: none; }

/* 
----------------------------------------------------------------------------------------------------
 □ #site_footer
---------------------------------------------------------------------------------------------------- */
.pageup { position: absolute; right: 10px; bottom: 100%; margin: 0 0 -20px; }

.sg_footer { padding: 7.6087% 2.17391% 0; position: relative; }

.f_logo { margin: 0 10px 15px 30px; }

.f_contact { padding: 20px 10px; background: #f9f7eb; }

.f_contact p { font-size: 15px; font-weight: bold; text-align: center; }

.f_contact p span { display: block; }

.f_btn li { width: 55%; float: left; }

.f_btn li:last-child { width: 42%; float: right; }

.map { margin: 0 -10px; padding: 25px 10px; text-align: right; min-height: 178px; background: url(../common_img/f_map.png) no-repeat left top #fefefe; background-size: auto 100%; -webkit-background-size: auto 100%; -moz-background-size: auto 100%; }

.map a { color: #000; text-decoration: none; }

.footer_end { margin: 0; background: #3e850e; }

.footer_end a { padding: 10px 0; display: block; text-align: center; }

@media all and (max-width: 479px) { .logo { width: 50%; }
  .menu_btn { padding: 3px 0 0; }
  .f_contact p span { display: inline; } }

@media all and (max-width: 413px) { .menu_btn { padding: 0; } }

@media all and (max-width: 359px) { .menu_btn { padding: 3px 0 0; }
  .menu_btn li { width: 50px; }
  .f_logo { margin: 0 0 15px 0; } }

.sg_header { position: relative; }

.sg_header .header_in { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.sg_header .header_in .logo { width: 53.26087%; }

.sg_header .header_in .logo img { width: 100%; }

.sg_header .header_in .menu_btn { -ms-flex-item-align: end; align-self: flex-end; display: -webkit-box; display: -ms-flexbox; display: flex; width: 42.3913%; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.sg_header .header_in .menu_btn li { width: 30.76923%; margin: 0; }

.sg_header .header_in .menu_btn li:last-child { width: 100%; text-align: right; font-size: 13px; margin-top: 2.5641%; }

@media only screen and (max-width: 376px) { .sg_header .header_in .menu_btn li:last-child { font-size: 11px; } }

@media only screen and (max-width: 374px) and (min-width: 320px) { .sg_header .header_in .menu_btn li:last-child { font-size: 10px; } }

.sg_header #h_menu { z-index:99;background-color: #3e850e; margin: 0 -2.17391%; position: absolute; width: 100%; top: 70%; display: none; }

.sg_header #h_menu ul li a { color: #fff; display: block; text-decoration: none; font-size: 16px; font-weight: 1000; padding: 2.1875% 3.125%; line-height: 24px; border-bottom: 0.5px solid #fff; }

.sg_header #h_menu ul li:last-child a { border: none; }
