@charset "utf-8";

@media screen and (max-width: 640px) {
	/* ==================================================
	Base-Layout
	================================================== */
	/* body
	================================================== */
	body {
		-webkit-text-size-adjust:none;
		-moz-text-size-adjust:none;
		-ms-text-size-adjust:none;
		font-size: 100%;
	}

	/* wrapper
	================================================== */
	#tmp_wrapper {
		position: relative;
		width: 100%;
		min-width: 320px;
	}
	.container{
		padding: 0 30px;
		width: 100%;
	}

	/* contents
	================================================== */
	#tmp_contents,
	#tmp_maincontents {
		word-wrap:break-word;
	}

	/* 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;
	}
	.col_main {
		padding:0;
	}

	/* 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: 100%;
	}
	.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;
	}

	/* wrapper
	================================================== */
	.container{
		padding: 0 15px;
	}

	/* header
	================================================== */
	#tmp_header {
		position:relative;
		padding:0;
		background-color: #ffffff;
		color: #222222;
		z-index: 800;
		border-bottom: 2px solid #14806d;
	}

	#tmp_header > .container {
        padding: 4px 2px 0px 10px;
    }

	#tmp_header .tmp_site_name {
		margin-bottom: 2px;
		font-size: 65%;
	}

	#tmp_hlogo {
		padding: 6px 0 0 0;
		float:none;
	}
	#tmp_hlogo img {
		height: 39px;
	}

	#tmp_header .mean_wrap {
		gap: 0 10px;
	}

	#tmp_hnavi_s ul {
		gap: 2px;
		position: static;
		margin-bottom:1px;
	}

	#tmp_hnavi_s .nav_setting a::before,
	#tmp_hnavi_s .nav_flang a::before,
	#tmp_sma_mmenu .setting_list a::before {
		border-radius: 4px;
	}
	#tmp_hnavi_s .nav_setting a::after,
	#tmp_hnavi_s .nav_flang a::after {
		border-radius: 4px;
	}
	#tmp_sma_mmenu {
		width: 100%;
		border-radius: 0;
		top: calc(100% - 2px);
	}
	#tmp_hnavi_s .setting_list {
		display: flex;
		flex-direction: column;
	}
	#tmp_sma_mmenu .setting_list a {
		padding: 12px 20px 10px 15px;
		text-align: left;
	}
	#tmp_sma_mmenu .setting_list .setting_furi a {
		padding: 11px 30px 11px 51px;
	}
	#tmp_sma_mmenu .setting_list .setting_furi a::after {
		background-position: left 25px top 11px;
	}
	/* ホームページリンク */
	#tmp_hnavi_s .nav_site_link {
		display: none;
	}

	/* 閲覧補助 */
	#tmp_hnavi_s .nav_setting > a {
		padding: 34px 5px 6px 5px;
		min-width: auto;
		width: 55px;
		height: 50px;
		border-radius: 4px;
		font-size: 55.5%;
	}
	#tmp_hnavi_s .nav_setting > a.active {
		height: 55px;
	}
	#tmp_hnavi_s .nav_setting > a::after {
		background-size: auto 16px;
		background-position: top 8px center;
	}
	#tmp_hnavi_s .nav_setting a.active::before {
		height: calc(100% + 4px);
	}
	#tmp_hnavi_s .nav_setting a.active::after {
		background-position: top 11px center;
	}
	#tmp_hnavi_s .setting_list li:not(:last-child) {
		margin-right: 0;
	}

	/* Language */
	#tmp_hnavi_s .nav_flang a {
		padding: 28px 5px 2px 5px;
		width: 55px;
		height: 50px;
		border-radius: 4px;
		line-height: 1;
		font-size: 55.5%;
	}
	#tmp_hnavi_s .nav_flang a::after {
		background-size: auto 16px;
		background-position: top 8px center;
	}

	/* スマホメニュー */
	#tmp_sp_menu {
		display: block;
		width: 100%;
	}
	#tmp_hnavi_s #tmp_sp_menu > a {
		display:block;
		padding: 32px 5px 2px 5px;
		width: 55px;
		height: 50px;
		background-color: #14806d;
		border-radius: 4px;
		color: #ffffff;
		font-weight: 600;
		font-size: 55.5%;
		position: relative;
		z-index: 999;
	}
	#tmp_hnavi_s #tmp_sp_menu > a.active {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
	#tmp_hnavi_s #tmp_sp_menu > a,
	#tmp_hnavi_s #tmp_sp_menu > a:hover,
	#tmp_hnavi_s #tmp_sp_menu > a span,
	#tmp_hnavi_s #tmp_sp_menu > a:hover span {
		text-decoration: none;
	}
	#tmp_sp_menu > a > span::before,
	#tmp_sp_menu > a::before,
	#tmp_sp_menu > a::after{
		content: "";
		position: absolute;
		width: 16px;
		height: 2px;
		color: inherit;
		background-color: #ffffff;
		left: 50%;
		transform: translateX(-50%);
	}
	#tmp_sp_menu > a::before {
		top: 11px;
	}
	#tmp_sp_menu > a::after{
		top: 21px;
	}
	#tmp_sp_menu > a > span::before{
		top: 16px;
	}
	#tmp_sp_menu > a.active{
		background-image: url("/shared/site_manabi/images/icon/icon_close.png");
		background-repeat: no-repeat;
		background-size: auto 13px;
		background-position: top 10px center;
		transition: none;
	}
	#tmp_sp_menu > a.active > span::before,
	#tmp_sp_menu > a.active::before,
	#tmp_sp_menu > a.active::after{
		display: none;
	}
	#tmp_sma_rmenu {
		width: 100%;
		color: #ffffff;
		background-color: rgb(20, 128, 109);
		left: 0;
	}
	.spmenu_open {
		position:relative;
		width: 100%;
		height: 100vh;
		z-index: 800;
		overflow: hidden;
	}
	.spmenu_open:before {
		content: "";
		min-height: 100%;
		height: 100%;
		width: 100%;
		position: absolute;
		top: 75px;
		left: 0;	
		z-index: 699;
		color: inherit;
		background-color: #cef2e9;
	}

	/* gnavi
	================================================== */
	#tmp_gnavi {
		display:none;
	}

	/* pankuzu
	================================================== */
	#tmp_pankuzu {
		margin: 7px 0 4px;
		letter-spacing: 0.17em;
		font-size: 88%;
	}

	/* update
	================================================== */
	#tmp_wrap_custom_update{
		margin-bottom: 33px;
	}

	/* pnavi
	================================================== */
	.pnavi a {
		padding: 9px 7px 9px;
	}
	.pnavi a span {
		padding-left: 21px;
		font-size: 87.5%;
		background-size: auto 9px;
		background-position: left 2px top 3.5px;
	}

	/* Scroll Table
	================================================== */
	.scroll_table {
		overflow-x:auto;
		margin-bottom: 40px;
		padding: 35px 9px 21px;
		background-size: 75px auto;
		background-position: right 10px top 9px;
	}
	.scroll_table {
		overflow-x:scroll;
	}
	.scroll_table_switch {
		text-align: right;
		margin: 0 0 20px;
		font-size: 100%;
		line-height: 1.2;
	}
	.scroll_table_switch a {
		padding: 6px 7px 6px 59px;
		background-position: left 8px center;
		background-size: 44px auto;
		border: 1px solid #cccccc;
		border-radius: 6px;
		min-width:9em;
	}
	.scroll_table_switch a.scroll {
		background-size: 50px auto;
		background-position: left 6px center;
	}
	.scroll_table::-webkit-scrollbar{
		height: 5px;
	}
	.scroll_table::-webkit-scrollbar-track{
		background: #e8e8e8;
	}
	.scroll_table::-webkit-scrollbar-thumb {
		background: #c8c8c8;
	}

	/* plugin
	================================================== */
	.plugin {
		display:none; /* do not edit */
	}

	/* model_change
	================================================== */
	.wrap_mc_pc,
	.wrap_mc_pc #tmp_switch_pc_style {
		display: none;
	}

	
	/* ==================================================
	footer
	================================================== */
	#tmp_footer {
		margin-top: 49px;
	}
	#tmp_footer .footer_wrap {
		padding: 26px 0 9px 0;
	}
	#tmp_footer .footer_wrap .container {
		flex-direction: column-reverse;
	}
	#tmp_footer .footer_wrap .footer_info {
		padding: 30px 0 0 0;
	}
	#tmp_footer .footer_wrap .footer_heading {
		gap: 0 10px;
		grid-template-columns: 55px 1fr;
		margin-bottom: 12px;
	}
	#tmp_footer .footer_wrap .footer_text .corporate_soshiki {
		margin-bottom: 5px;
		line-height: 1.3;
		font-size: 113%;
	}
	#tmp_footer .footer_wrap .footer_text .corporate_number {
		font-size: 87.5%;
	}
	#tmp_footer .footer_wrap .footer_emblem img {
		width: 100%;
		height: auto;
	}
	#tmp_footer .footer_wrap .footer_text {
		display: flex;
		justify-content: center;
		flex-direction: column;
	}

	/* ナビゲーション */
	.footer_navi {
		max-width: 100%;
	}
	.footer_navi .fnavi_top {
		padding: 0 0 15px 0;
	}
	.footer_navi .fnavi_top .fnav_text {
		margin: 0 0 7px 0;
		line-height: 1.6;
		letter-spacing: 0;
		font-size: 87.5%;
	}

	.footer_navi .fnavi_top .fnav_link {
		text-align: left;
		letter-spacing: 0;
		font-size: 100%;
	}
	.footer_navi .fnavi_top .fnav_link a {
		padding: 0 0 0 18px;
		background-size: auto 15px;
	}

	.footer_navi .fnavi_bottom {
		grid-template-columns: 1fr;
		gap: 22px 0;
		padding: 26px 0 25px;
		border-bottom: 1px solid #b0e6db;
	}
	.footer_navi .fnavi_bottom li:first-child a {
		padding-left: 17px;
	}
	.footer_navi .fnavi_bottom a {
		padding-left: 21px;
		background-size: auto 15px;
		font-size: 100%;
	}

	/* アドレス */
	.footer_address address p {
		margin: 0 0 1px 0;
		line-height: 1.6;
		letter-spacing: -0.01em;
		font-size: 100%;
	}
	.footer_address address span {
		display: inline-block;
	}

	/* コピーライト */
	#tmp_footer .copyright_wrap {
		padding: 10px 5px 5px;
	}
	#tmp_footer .copyright_wrap .copyright {
		font-size: 81.3%;
	}


	/* fnavi */
	.footer_cnt {
		padding:0 10px;
		clear:both;
	}
	.footer_cnt address {
		font-style:normal;
	}
	.copyright {
		text-align:center;
		clear:both;
	}

	/* update
	================================================== */
	#tmp_social_plugins {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 20px;
		margin-bottom: 30px;
	}
	#tmp_social_plugins,
	#tmp_social_plugins .social_media_btn{
		float: none;
	}
	#tmp_social_plugins .social_media_btn a {
		display: block;
		line-height: 1;
		min-height: 18px;
	}
	#tmp_social_plugins .social_media_btn img{
		max-width: 100%;
		width: auto;
		height: 18px;
		object-fit: contain;
		vertical-align: top;
	}

	/* ==================================================
	CMS-function
	================================================== */
	/* inquiry
	================================================== */
	#tmp_inquiry {
		margin: 25px 0 40px;
		border-radius: 6px;
	}
	#tmp_inquiry_ttl{
		padding: 12px 14px 11px;
	}
	#tmp_inquiry_ttl h2,
	#tmp_inquiry_ttl p {
		font-size: 125%;
	}
	#tmp_inquiry_cnt {
		padding: 15px 14px 9px;
	}
	#tmp_contents #tmp_inquiry_cnt p {
		line-height: 1.7;
	}
	#tmp_inquiry_cnt .inquiry_parts {
		margin: 0 0 0.6em 0;
	}

	/* rnavi
	================================================== */
	#tmp_rnavi{
		margin-bottom: 37px;
		border: 2px solid #e5e5e5;
	}
	#tmp_rnavi_ttl{
		font-size: 100%;
	}
	#tmp_rnavi_ttl p {
		padding: 14px 10px 18px;
	}
	#tmp_rnavi_ttl a{
		display: block;
		margin: -14px -10px -18px -11px;
		padding: 14px 10px 18px 34px;
		background-size: auto 15px;
		background-position: left 13px top 19px;
	}
	#tmp_rnavi_cnt .rnavi_links li {
		font-size: 100%;
	}
	#tmp_rnavi_cnt .rnavi_links a {
		padding: 11px 10px 9px 31px;
		background-size: auto 15px;
		background-position: left 12px top 14px;
	}
	#tmp_rnavi_cnt .rnavi_links li:not(:first-of-type){
		border-top: 1px solid #e5e5e5;
	}
	#tmp_rnavi_cnt .rnavi_links a:hover,
	#tmp_rnavi_cnt .rnavi_links .active a{
		background-color: #f0fcf9;
		color: inherit;
	}
	#tmp_rnavi_ttl a:focus-visible,
	#tmp_rnavi_cnt .rnavi_links a:focus-visible{
		outline-offset: -1px;
	}

	/* cnavi
	================================================== */
	#tmp_cnavi {
		margin-bottom: 21px;
	}
	#tmp_cnavi_ttl {
		font-size: 131.5%;
	}
	#tmp_cnavi_ttl p {
		background-position: left top 5px;
	}
	#tmp_cnavi_cnt {
		padding: 15px 10px 10px;
	}
	#tmp_cnavi_cnt .tmp_cnavi_sub_ttl {
		font-size: 112.5%;
	}
	#tmp_cnavi_cnt .cnavi_links a {
		min-height: 62px;
		padding: 15px 14px 10px;
		border-radius: 8px;
		font-size: 100%;
	}
	#tmp_cnavi_cnt .cnavi_links .clink_img {
		margin-right: 16px;
	}
	#tmp_cnavi_cnt .cnavi_links img {
		width: 29px;
		height: 29px;
	}
	#tmp_cnavi_cnt .cnavi_links li:not(:last-of-type){
		margin-bottom: 5px;
	}

	/* search_cnt
	================================================== */
	#tmp_cnavi .search_cnt {
		padding: 12px 8px 14px;
		background-position: left -23px top -11px;
	}
	#tmp_cnavi .search_cnt:last-of-type {
		margin-bottom: 0;
	}
	.search_cnt .search_ttl {
		margin-bottom: 9px;
		font-size: 113%;
	}
	.search_cnt .search_text {
		margin-bottom: 14px;
		font-size: 87.5%;
	}
	.search_cnt .search_btn a {
		min-height: 62px;
		padding: 3px 10px 3px 17px;
		border-radius: 8px;
		font-size: 100%;
	}
	.search_cnt .search_btn img {
		object-position: 0 6px;
	}

	/* area_cnt
	================================================== */
	#tmp_cnavi_search .cnavi_wrap {
		margin-bottom: 17px;
	}
	.area_cnt .area_wrap {
		display: flex;
		justify-content: space-between;
	}
	.area_cnt .area_map {
		width: calc(50% - 5px);
		margin-bottom: 0;
	}
	.area_cnt .area_map .pc_show {
		display: none;
	}
	.area_cnt .area_map .sp_show {
		display: inline-block;
	}
	.area_cnt .area_list {
		width: calc(50% - 5px);
		gap: 3px 0;
	}
	.area_cnt .area_item a {
		padding: 17px 15px 12px 46px;
		letter-spacing: 0;
	}
	.area_cnt .area_item a::after {
		background-size: auto 15px;
		background-position: left 20px center;
	}
	.area_cnt .area_item a::before {
		border: 2px solid #cccccc;
	}

	/* inquiry_cbtn
	================================================== */
	#tmp_inquiry_link .inquiry_btn a {
		min-height: 62px;
		padding: 8px 10px 7px 17px;
		border-radius: 8px;
		font-size: 100%;
	}
	#tmp_inquiry_link .inquiry_img {
		margin-right: 10px;
	}
	#tmp_inquiry_link .inquiry_img img {
		width: 35px;
		height: 31px;
	}

	/* ==================================================
	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 {
		position:relative;
		display:block;
		height:0;
		padding-bottom:56.25%;
		overflow:hidden;
		min-width:200px;
	}
	#tmp_contents .frame_youtube object,
	#tmp_contents .frame_youtube 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;
	}

	/* event_cal
	================================================== */
	/* cate_ttl
	================================================== */
	#tmp_cate_ttl img {
		height:auto;
		max-width:100%;
	}

	/* tmp_means
	================================================== */


	/* ==================================================
	accessibility style change:color
	================================================== */

	/* a / span */
	.color_blue #tmp_hnavi_s .nav_setting > a,
	.color_yellow #tmp_hnavi_s .nav_setting > a,
	.color_black #tmp_hnavi_s .nav_setting > a {
		padding: 12px 0 10px;
		height: 45px;
	}
	.color_blue #tmp_hnavi_s .nav_setting > a.active,
	.color_yellow #tmp_hnavi_s .nav_setting > a.active,
	.color_black #tmp_hnavi_s .nav_setting > a.active {
		height: 50px;
	}
	.color_blue #tmp_hnavi_s .nav_flang a,
	.color_yellow #tmp_hnavi_s .nav_flang a,
	.color_black #tmp_hnavi_s .nav_flang a {
		padding: 12px 0 10px;
		height: 45px;
	}
	.color_blue #tmp_hnavi_s #tmp_sp_menu > a,
	.color_yellow #tmp_hnavi_s #tmp_sp_menu > a,
	.color_black #tmp_hnavi_s #tmp_sp_menu > a {
		height: 45px;
		margin-bottom: 5px;
	}


	/* ==================================================
	clearfix
	================================================== */
	#tmp_sma_lnavi_cnt .switch_menu .noicon_list:after {
		content: ""; /* Do not edit */
		display: table; /* Do not edit */
		clear: both; /* Do not edit */
	}
}