@charset "utf-8";

@media screen and (max-width : 640px) {
/* ==================================================
Base-Layout
================================================== */
/* body
================================================== */
body {
	-webkit-text-size-adjust:none;
}
/* wrapper
================================================== */
#tmp_wrapper {
	width:100%;
	min-width:320px;
}
/* contents
================================================== */
#tmp_contents,
#tmp_maincontents {
	word-wrap:break-word;
}
img {
    max-width: 100%;
    height: auto;
}

/* format-layout
================================================== */
.wrap_col_nm,
.wrap_col_rgt_navi,
.column_full .wrap_col_main,
.column_lnavi .wrap_col_main,
.column_rnavi .wrap_col_main {
	float:none;
}
.wrap_col_lft_navi {
	float:none;
	position:static;
	z-index:auto;
}
.wrap_col_main {
	margin-bottom:20px;
}
#tmp_main {
	padding:0 0 80px;
}
/* top
================================================== */
.format_top #tmp_main_menu,
.format_top #tmp_main {
	float:none;
	width:100%;
}
/* free
================================================== */
.format_free .wrap_col_lft_navi {
	display:none;
}
.format_free .wrap_col_rgt_navi {
	width:auto;
}
.format_free .column_lnavi .col_main {
	margin-left:0;
}
.format_free .column_rnavi .wrap_col_main,
.format_free .column_rnavi .col_main {
	margin-right:0;
}
.format_free #tmp_main {
	padding-right:10px;
	padding-left:10px;
}
/* ==================================================
header
================================================== */
#tmp_header {
	position:relative;
	padding:0;
	background-color: #ffffff;
	color: #222222;
	z-index: 9999;
}
#tmp_hlogo {
	float:none;
	padding:9px 0 0 10px;
    margin: 0;
	border-bottom: 1px solid #888687;
	min-height:50px;
}
#tmp_hlogo h1,
#tmp_hlogo p {
	display:inline-block;
	width:156px;
	height:35px;
    background-size: 100% auto;
}
#tmp_hlogo a {
	width:156px;
	height:35px;
}
#tmp_hlogo h1 span,
#tmp_hlogo p span {
	width:156px;
	height:35px;
}
/* sp_menu
================================================== */
.spmenu_open {
	position:absolute;
	width: 100%;
	min-height: 100%;
    z-index: 9999;
    background: #ffffff;
    color: #222222;
}
.spmenu_open::before {
	content:"";
	min-height: 100%;
	height:100%;
	width:100%;
	position:absolute;
	top:0;
	left:0;
	background-color: rgba(0,0,0,0.5);
	z-index:699;
	cursor:pointer;
}
.spmenu_open #tmp_sma_menu {
	position: relative;
	background-color: #ffffff;
	color: #222222;
	z-index: 9999;
}
.spmenu_open #tmp_sma_menu .close_btn{
	display: block;
	margin:auto;
    text-align: center;
	padding-bottom: 20px;
}
.spmenu_open #tmp_sma_menu .close_btn a {
    display: inline-block;
    padding: 5px 0 5px 20px;
    color: inherit;
    text-decoration: none;
	background: url("/shared/site_koan_re/images/icon/tojiru_sp_icon.png") no-repeat left center;
	background-size: 16px 16px;
	font-weight:bold;
}
#tmp_switch_sp_style {
	display: none;
}
#tmp_hnavi_s,
.spmenu_open #tmp_hnavi_s {
	display: block;
	list-style: none;
}
#tmp_hnavi_s li a {
	width:50px;
	height:50px;
	text-decoration:none;
    padding: 25px 2px 2px;
    display: flex;
    justify-content: center;
    align-items: center;
	color:#ffffff;
}
#tmp_hnavi_lmenu {
	position:absolute;
	right:0;
	top:0;
    background-color: #006880;
    border-left: 1px solid #4c7984;
    color: #FFFFFF;
}
#tmp_hnavi_rmenu {
	position:absolute;
	right:51px;
	top:0;
    background-color: #006880;
    color: #FFFFFF;
}
#tmp_hnavi_lmenu a {
    background: url("/shared/site_koan_re/images/icon/search-menu.png") center 5px/21px auto no-repeat;
}
#tmp_hnavi_rmenu a {
    background: url("/shared/site_koan_re/images/icon/gear.png") center 5px/16px auto no-repeat;
}
#tmp_hnavi_lmenu span,
#tmp_hnavi_rmenu span {
	display:block;
	position:relative;
    color: #FFFFFF;
    font-size: 10px;
    text-align: center;
    line-height: 1;
}
#tmp_hnavi_lmenu span.open,
#tmp_hnavi_rmenu span.open {
    display: none;
}
#tmp_hnavi_lmenu .active,
#tmp_hnavi_rmenu .active {
    background: #f5f2e9;
    color: #000000;
    position: relative;
}
#tmp_hnavi_lmenu .active:before,
#tmp_hnavi_rmenu .active:before,
#tmp_hnavi_lmenu .active:after,
#tmp_hnavi_rmenu .active:after {
    content: "";
    display: block;
    width: 16px;
    height: 2px;
    background-color: #000000;
    position: absolute;
    top: 12px;
    left: 0;
    right: 0;
    margin: auto;
}
#tmp_hnavi_lmenu .active:before,
#tmp_hnavi_rmenu .active:before {
    transform: rotate(45deg);
}
#tmp_hnavi_lmenu .active:after,
#tmp_hnavi_rmenu .active:after {
    transform: rotate(-45deg);
}
#tmp_hnavi_lmenu .active span,
#tmp_hnavi_rmenu .active span {
    display: none;
    color: inherit;
}
#tmp_hnavi_lmenu .active span.open,
#tmp_hnavi_rmenu .active span.open {
    display: block;
}
#tmp_sma_lmenu,
#tmp_sma_rmenu {
    background-color: #f5f2e9;
}
#tmp_sma_menu {
    display: block;
}
#tmp_means {
    display: none;
}
#tmp_means_primary {
    margin: 0;
    padding: 37px 10px 20px 10px;
}
#tmp_means_primary ul {
    text-align: left;
    border-top: 1px solid #000000;
}
#tmp_means_primary ul li {
    display: block;
    margin: 0;
    border-bottom: 1px solid #000000;
}
#tmp_means_primary ul li a {
	font-size: 125%;
    padding: 15px 10px 15px 46px;
	background-position:20px center !important;
}
#tmp_means_tertiary {
    display: block;
    padding: 0 10px;
	margin-bottom: 10px;
}
#tmp_means_tertiary #tmp_hnavi li {
    display: block;
    margin: 0 0 10px;
}
#tmp_means_tertiary #tmp_hnavi li a {
	padding: 10px 0 10px 0;
	font-weight: bold;
	margin:0 30px 15px 30px;
}
#tmp_sma_search {
    padding:15px 0 10px 0;
    margin: 0 0 20px;
}
#tmp_sma_search,
#tmp_sma_gsearch {
    display: flex;
    justify-content: space-between;
    
}
.wrap_sch_box {
    display: flex;
}
.wrap_sch_box .sch_ttl {
	font-size:92.85%;
	width: 90px;
	background: url("/shared/site_koan_re/images/icon/sch_sp_icon.png") no-repeat left center;
	padding: 7px 0 0 14px;
	background-size:12px auto;
	margin: 0 2px 0 7px;
}
.wrap_sch_box .sch_ttl label {
	min-width: 76px;
	display: inline-block;
	letter-spacing: -1px;
}
#tmp_sma_query {
    border: 2px solid #006880;
	width: 100%;
	min-height: 32px;
}
#tmp_sma_func_sch_btn {
    background: #006880 url("/shared/site_koan_re/images/icon/sch_btn.png") center no-repeat;
    border: 1px solid #006880;
    color: #FFFFFF;
    overflow: hidden;
    text-indent: -9999px;
    width: 30px;
    height: 32px;
	margin-right: 10px;
}
/* gnavi
================================================== */
#tmp_gnavi {
	display:none;
}
/* pankuzu
================================================== */
#tmp_pankuzu {
	margin:0 10px;
}
/* lnavi
================================================== */
/* rnavi
================================================== */
/* pnavi
================================================== */
/* plugin
================================================== */
.plugin {
	display:none; /* do not edit */
}
/* model_change
================================================== */
.wrap_mc_pc,
.wrap_mc_pc #tmp_switch_pc_style {
	display: block;
    text-align: center;
}
.wrap_mc_pc #tmp_switch_pc_style {
	margin: 0 20px 20px 20px;
}
.wrap_mc_pc a {
    display: block;
    background-color: #FFFFFF;
    border: 1px solid #006880;
    text-decoration: none;
    padding: 10px;
    color: #006880;
    font-weight: bold;
	font-size: 114.3%;
}
/* ==================================================
footer
================================================== */
/* fnavi */
#tmp_footer {
	padding:15px 0;
}
.fnavi {
	margin-bottom:5px;
}
.fnavi li a {
	background-size:11px auto;
}
.footer_cnt {
    width: auto;
	padding:0 10px;
	clear:both;
}
.footer_cnt address {
	font-style:normal;
	line-height:1.4;
}
.footer_cnt address span {
	margin:0;
	display:block;
}
.copyright {
	clear:both;
	font-size:78.57%;
}
.copyright span {
	display:inline-block;
}
/* ==================================================
class
================================================== */

/* float ▼Do not edit
================================================== */
.float_lft,
.float_rgt {
	float:none;
	margin-left:0 !important;
	margin-right:0 !important;
}
/* youtube ▼Do not edit
================================================== */
#tmp_contents .frame_youtube,
#tmp_contents .frame_ustream {
	position:relative;
	display:block;
	height:0;
	padding-bottom:56.25%;
	overflow:hidden;
	min-width:200px;
}
#tmp_contents .frame_youtube object,
#tmp_contents .frame_ustream object,
#tmp_contents .frame_youtube iframe,
#tmp_contents .frame_ustream iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}


/* ==================================================
parts
================================================== */
/* parts ▼Do not edit
============================== */
div.col2 div.col2L,
div.col3 div.col3L,
div.col3 div.col3M,
div.col2 div.col2 div.col2L,
div.fixed_col2 div.fixed_col2L {
	width:100%;
	margin-right:0;
	display: block;
	float:none;
	clear:both;
}
div.col2 div.col2R,
div.col3 div.col3R,
div.col2 div.col2 div.col2R,
div.fixed_col2 div.fixed_col2R {
	width:100%;
	display: block;
	float:none;
	clear:both;
}
#tmp_contents div.col3 ul,
#tmp_contents div.col2 ul {
	margin-bottom:0;
}
div.img_cap {
	width:auto !important;
}
#tmp_contents img {
	max-width:100%;
	height:auto;
}
#tmp_contents ul,
#tmp_contents ol {
	margin-left:22px;
}
#tmp_contents table {
	width:auto;
}
#tmp_contents table table {
	max-width:100%;
}
#tmp_contents table th,
#tmp_contents table td {
	width:auto;
}
#tmp_contents table.gsc-search-box td.gsc-input {
	width:100% !important;
}
#tmp_contents input[type="text"],
#tmp_contents textarea {
	width:100% !important;
	padding:0;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;/* Webkit */
}

/* event_cal
================================================== */
/* cate_ttl
================================================== */
#tmp_cate_ttl img {
    height:auto;
    max-width:100%;
}


/* Scroll Table
================================================== */
.scroll_table {
	overflow-x:auto;
	margin-bottom:10px;
	padding:23px 5px 5px;
	background:#F5F5F5 url(/shared/images/icon/scroll_table_icon.png) right 5px no-repeat;
	background-size:75px 15px;
}
.scroll_table {
	overflow-x:scroll;
}
.scroll_table_switch {
	text-align:right;
	margin:0 0 10px;
	font-size:75%;
	line-height:1.2;
}
.scroll_table_switch a {
	border:1px solid #CCCCCC;
	color:#333333;
	display:inline-block;
	padding:8px 10px 8px 70px;
	text-decoration:none;
	background:#F2F2F2 url(/shared/images/icon/scroll_table_ex.png) 10px center no-repeat;
	background-size:46px 20px;
	box-shadow:0 2px 0 0 #91918E;
	min-width:9em;
	text-align:center;
}
.scroll_table_switch a.scroll {
	background:#FFFFFF url(/shared/images/icon/scroll_table_df.png) 10px center no-repeat;
	background-size:46px 20px;
}
.scroll_table::-webkit-scrollbar{
 height: 5px;
}
.scroll_table::-webkit-scrollbar-track{
 background: #F1F1F1;
}
.scroll_table::-webkit-scrollbar-thumb {
 background: #BCBCBC;
}
/* ==================================================
contents
================================================== */
/* top
================================================== */
#tmp_main_visual p {
	height:0;
	padding-top:37.8%;
    background: url("/shared/templates/koan_top_re/images/sp/main_visual.png") center top no-repeat;
	background-size:100% auto;
	overflow:hidden;
}
#tmp_main_visual p span {
	height:auto;
	position:absolute;
	left:0;
	top:0;
}
.format_top .col2 {
    width: auto;
	margin: 0 auto;
}
.format_top div.col2 {
    display: block;
}
.format_top div.col2 .col2L,
.format_top div.col2 .col2R {
    width: auto;
    padding: 0 10px;
	margin: 0 0 40px;
}
.format_top .col2 h2 {
	font-size: 142.9%;
	margin-bottom:20px;
}
.format_top .col2 ul li {
	font-size: 114.3%
}
#tmp_main .koan_contents {
    padding: 30px 10px 15px;
}
#tmp_main .koan_contents h2 {
    width: auto;
	font-size: 142.9%;
	margin: 0 auto 20px auto;
	padding: 10px 10px 7px;
}
#tmp_koan_ttl {
    max-width: none;
	height:0;
	padding-top:23.125%;
    margin: 0 0 12px;
	background:url(/shared/templates/koan_free_re/images/sp/main_img.jpg) no-repeat left top;
	background-size:100% auto;
	overflow:hidden;
}
#tmp_koan_link {
	width: auto;
}
#tmp_koan_link .koan_link_box {
	width: 48%;
	margin-right: 3%;
	margin-bottom:13px;
	line-height:1.2;
}
#tmp_koan_link .koan_link_box:nth-child(2n) {
    margin-right: 0;
}
#tmp_koan_link .koan_link_box .link_txt {
	padding: 10px 8px;
	padding-top: calc(66.9% + 10px);
	font-size:100%;
	min-height:140px;
}
.link_list {
    width: auto;
    display: block;
    padding: 0 10px;
	margin: 30px auto 0;
	font-size:92.9%;
}
.link_list li a {
	min-height:inherit;
	background: url("/shared/site_koan_re/images/link_list.png") calc(100% - 10px) center no-repeat;
	background-size: 10px auto;
	padding:3px 50px 2px 10px;
	min-height:45px;
}
.link_list li {
    width: auto;
    margin-right: 0;
	margin-bottom:13px;
}
.note_txt {
    width: auto;
    padding: 0 10px;
	font-size: 107.14%;
}
.fnavi {
    width: auto;
    padding: 0 10px;
}
.fnavi li {
    float: none;
	font-size:100%;
	margin-bottom:0.6em;
}
.footer_cnt address span:first-child {
    display: block;
    font-size: 128.5%;
    font-weight: bold;
}
.pnavi .ptop {
    left: 0;
    right: 0;
    margin: auto;
    width: auto;
	font-weight:bold;
	text-align:center;
}
.pnavi .ptop a {
    width: auto;
	padding-top:14px;
	display:inline-block;
}
.pnavi .ptop a:before{
	width: 36px;
	height: 20px;
	top: -13px;
	left: 0;
	right: 0;
	margin: 0 auto;
	background-size:36px auto !important;
	background-position:center 5px !important;
}
.pnavi .ptop a span {
	display:inline;
}
.pnavi .ptop a.fixTop {
    right: auto;
    left: 50%;
	transform: translateX(-50%);
    margin: auto;
	bottom: 20px;
}
#tmp_gaiyo_txt {
	font-size:92.9%;
	padding: 35px 10px;
	margin: 0 0 40px;
}
#tmp_feedback,
#tmp_inquiry {
	font-size: 100%;
}
#tmp_feedback_cnt .submit input,
#tmp_inquiry_cnt .inquiry_btn {
	width: 100%;
	min-width:auto;
}
/* free
================================================== */
#tmp_contents {
	font-size:100%;
}
#tmp_contents h1 {
	font-size:178.6%;
	margin-bottom:0.7em;
	padding:12px 5px 10px 9px;
}
#tmp_contents h2 {
	font-size:157.1%;
	margin:1.2em 0 0.9em;
	padding:8px 5px 5px 0;
	border-bottom-width:3px;
}
#tmp_contents h2:before,
#tmp_contents h2:after {
    width: 9px;
    height: 3px;
    border-left: 3px solid #FFFFFF;
    border-right: 3px solid #FFFFFF;
    bottom: -3px;
}
#tmp_contents h2:before {
    left: 3px;
}
#tmp_contents h2:after {
    right: 3px;
}
#tmp_contents h3 {
	font-size:157.1%;
	margin:1.2em 0 0.9em;
	padding:0 0 3px;
	border-bottom-width:2px;
}
#tmp_contents h4 {
	font-size:142.8%;
	padding:3px 0 0 20px;
}
#tmp_contents h4:before {
    width: 16px;
    height: 16px;
	background-size:100% auto;
}
#tmp_contents h5 {
	font-size:128.5%;
	padding:0 0 0 10px;
}
#tmp_contents h5:before {
	width: 6px;
	height: 15px;
	top:6px;
	background-size:100% auto;
}
#tmp_contents h6 {
	font-size:114.3%;
}
/*-----------------------------------------------------
gmap
-----------------------------------------------------*/
#tmp_gmap_link #tmp_gmap_img {
	width:auto;
}

/* ==================================================
clearfix
================================================== */
#tmp_sma_lnavi_cnt .switch_menu .noicon_list:after {
	content: ""; /* Do not edit */
	display: table; /* Do not edit */
	clear: both; /* Do not edit */
}

}