@charset "utf-8";


/*-----「0px-589px」-----*/
/*-------------------------------------------------------------------------------*/


@media only screen and (max-width: 589px){


/*--------------------「Common」--------------------*//* 2023 */


/* 590px未満の「Column：分割時」は「float」関連は「none」にする。 */

*[class*='column']:not(.unLock) .flo_l,	/* *[class*='column']:not(.unLock)：テーブル状態 */
*[class*='column']:not(.unLock) .flo_r,
*[class*='column']:not(.unLock) .img_l,
*[class*='column']:not(.unLock) .img_r{
	clear: both;
	float: none;
	margin: 0 0 25px !important;
	}

*[class*='column']:not(.unLock) .flo_l + *,
*[class*='column']:not(.unLock) .flo_r + *,
*[class*='column']:not(.unLock) .img_l + *,
*[class*='column']:not(.unLock) .img_r + *{
	clear: both !important;
	}

*[class*='column']:not(.unLock) .border_on img{
	margin: 0;
	}


/*--------------------「Seg」--------------------*/


/*-----「Base」-----*/


.headline03{
	margin-bottom: 15px !important;
	}


/*-----「リスト（ul・ol）」-----*/


.sepa li{
	clear: both;
	float: none;
	margin: 0;
	margin-bottom: 0.5em;
	}

.sepa li.col1,
.sepa li.col2,
.sepa li.col3,
.sepa li.col4{
	width: auto;
	}


/*-----「Comp、リスト（ul・ol） @ Column」-----*//* 2023 */


*[class*='column'].unLock figure{	/* *[class*='column'].unLock：ブロック状態 */
	text-align: center;
	width: 100%;
	}

*[class*='column']:not(.unLock) .sepa li{	/* *[class*='column']:not(.unLock)：テーブル状態 */
	clear: both;
	float: none;
	margin: 0 0 1em !important;
	}

*[class*='column']:not(.unLock) .sepa li[class*='col']{
	width: auto;
	}


/*-----「Sec」-----*/


.sec_s01:nth-of-type(1),
.sec_s01:nth-of-type(2),
.sec_s01:nth-of-type(3),
.sec_s01:nth-of-type(4),
.sec_s01:nth-of-type(5){
	width: 100%;
	margin: 0 0 25px;
	}


/*-----「RWD」-----*/


.rwdcase01{
	margin-top: 0;
	}

.rwdcase02{
	padding-right: 0;
	padding-left: 0;
	}


/*--------------------「Main」--------------------*/


/*-----「Header Wide」-----*/


.header_wide{
	min-width: 0;
	}

.moved #mnav,
.fixed #mnav{
	background-color: rgba(255,255,255,0.50);
	}

#top{
	background-position: 20% top;
	margin-bottom: 50px !important;
	}


/*-----「Header」-----*/


#top header{
	min-height: 250px;
	padding-top: 30px;
	}

header h1{
	font-size: 3.2rem;
	padding-left: 20px;
	}

header .sitetitle{
	top: 10px;
	left: 10px;
	}

.moved header .sitetitle,
.fixed header .sitetitle{
	display: block;
	}


/*-----「menu_box」-----*/


header .menu_box::after{
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	}

header .menu_box .menu_box_btn{
	background-color: rgba(0,0,0,0.30);
	display: block;
	width: 62px;
	height: 55px;
	padding: 10px 15px 11px;
	border-radius: 0 0 8px 8px;
	position: absolute;
	top: 0;
	right: 10px;
	}

header .menu_box .boundary_box{
	background-color: rgba(130,179,62,0.80);
	display: none;
	width: calc(100% - 20px);
	padding: 15px;
	border-radius: 8px 0 8px 8px;
	position: absolute;
	top: 60px;
	right: 10px;
	left: 10px;
	}

header div.lang_box{
	background-color: rgba(130,179,62,0.80);
	height: 55px;
	padding-bottom: 11px;
	border-radius: 0;
	top: -60px;
	right: 67px;
	}

.moved header div.lang_box,
.fixed header div.lang_box{
	display: block;
	}

header div.lang01,
header div.lang02{
	padding-top: 10px;
	}


/*---「Global Menu」---*/


.gm_wrapper{
	clear: both;
	background: none;
	box-shadow: none;
	position: static;
	}

.gm_wrapper ul{
	padding: 0;
	}

.gm_wrapper .gmul_c01 a:active,
.gm_wrapper .gmul_c01 a:hover{
	color: #82b33e;
	text-decoration: none;
	background-repeat: repeat-x;
	}

.gm_wrapper li{
	background: none;
	background-color: #fff;
	text-align: left;
	display: inline-block;
	width: 100%;
	padding: 0;
	margin-bottom: 2px;
	}

.gm_wrapper li:first-of-type{
	border-radius: 4px 0 0 0;
	}

.gm_wrapper li:last-of-type{
	background-color: #fff;
	width: 100%;
	padding: 0;
	margin-bottom: 0;
	border-radius: 0 0 4px 4px;
	}

.gm_wrapper li:last-of-type{
	background-color: #fff;
	width: 100%;
	padding: 0;
	margin-bottom: 0;
	}

.gm_wrapper li span.nolink,
.gm_wrapper li a{
	height: auto;
	}

.gm_wrapper li.active a{
	background-repeat: repeat-x;
	}

.gm_wrapper li img,
.gm_wrapper li span.pagetag{
	display: inline;
	vertical-align: middle;
	}

.gm_wrapper li img{
	margin-right: 10px;
	margin-bottom: 0;
	}


/*-----「Side Wide」-----*/


.side_wide{
	min-width: 0;
	padding-top: 60px;
	padding-bottom: 60px;
	}

.sw_last{
	padding-bottom: calc(60px + 50px);
	}

	
/*-----「Side」-----*/


.side{
	padding: 0 20px;
	}

.swbg{	/* 「.sw01」とセットで私用する。リード文 */
	right: 20%;
	}


/*-----「Main」-----*/


article{
	clear: both;
	float: none;
	}


/*-----「Footer Wide」-----*/


.footer_wide{
	min-width: 0;
	}


/*-----「Footer Wrapper」-----*/


.footer_wrapper .seg{
	width: 360px;
	}

.leftbox,
.rightbox{
	width: 180px;
	height: 100px;
	padding: 25px 15px 0;
	}

.telbox img{
	width: 15px;
	height: auto;
	margin-right: 5px;
	}

.telbox .tel{
	font-size: 2.0rem;
	letter-spacing: 0;
	}

.telboundary span.teltext{
	font-size: 1.2rem;
	letter-spacing: 0;
	}

.mailboundary{
	width: 100%;
	}

.mailboundary a{
	font-size: 1.2rem;
	letter-spacing: 0;
	height: auto;
	padding-top: 10px;
	padding-bottom: 10px;
	}

.mailboundary span.mailtext{
	font-size: 1.2rem;
	letter-spacing: 0;
	}


/*-----「Footer」-----*/


.footer{
	height: 48px;
	padding-top: 8px;
	}

footer p,
small{
	font-size: 1.2rem;
	}

footer p{
	margin-bottom: 5px;
	}


/*-----「Index」-----*/


#index #top{
	background: none;
	background-position: center center;
	}

#index #top header{
	min-height: 0;
	padding-top: 0;
	}

#index header h1{
	position: absolute;
	top: 10px;
	left: 10px;
	}

#index.moved header h1,
#index.fixed header h1{
	display: block;
	}


}


/*-----「0px-479px」-----*//*-----「スマホのポートレート（最小幅を375px（360pxも考慮）とする）」-----*/
/*-------------------------------------------------------------------------------*/


@media only screen and (max-width: 479px){


/*--------------------「Common」--------------------*/


.img_l,
.img_r{
	float: none;
	margin: 0 0 30px !important;
	}

.img_l + *,
.img_r + *{
	clear: both !important;
	}

.border_on img{
	margin: 0;
	}


/*--------------------「Seg」--------------------*/


/*-----「Comp」-----*/


.comp figure{
	text-align: center;
	width: 100%;
	}


/*-------------------「Module」--------------------*/


/*-----「RWD用設定（tt01）」-----*/


table.tt01 tr{
	clear: both;
	}

table.tt01 th,
table.tt01 td{
	display: block;
	width: 100% !important;
	border-bottom-width: 0;
	}

table.tt01 tr:last-child th:last-child,
table.tt01 tr:last-child td:last-child{
	border-bottom-width: 1px;
	}

.tt01 thead{
	display: none;
	}


/*--------------------「Main」--------------------*/


/*---「Global Menu」---*/


.gm_wrapper li span.nolink,
.gm_wrapper li a{
	padding: 10px 25%;
	}


/*-----「Index」-----*/


#index header .catchphrase{
	font-size: 2.8rem;
	line-height: 1.3;
	letter-spacing: 1px;
	top: 73.5px;
	left: 15px;
	}

#index header .catchphrase span{
	font-size: 2.4rem;
	}


}


/*-----「480px-589px」-----*//*-----「タブレットの画面分割によるポートレート、PCの画面分割によるポートレート」-----*/
/*-------------------------------------------------------------------------------*/


@media only screen and (min-width: 480px) and (max-width: 589px){


/*-------------------「Module」--------------------*/





/*--------------------「Main」--------------------*/


/*---「Global Menu」---*/


.gm_wrapper li span.nolink,
.gm_wrapper li a{
	padding: 10px 30%;
	}


/*-----「Index」-----*/


#index header .catchphrase{
	font-size: 3.2rem;
	line-height: 1.3;
	letter-spacing: 2px;
	top: 90px;
	left: 25px;
	}

#index header .catchphrase span{
	font-size: 2.8rem;
	}


}

