@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;1,600&display=swap');
/* =============================================================================
   HTML5 element display
   ========================================================================== */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio[controls], canvas, video { display: inline-block; *display: inline; *zoom: 1; }


/* =============================================================================
   Base
   ========================================================================== */

html { font-size: 100%; -webkit-overflow-scrolling: touch; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

body { margin: 0; font-size: 100%; line-height: 1.45; }

/* =============================================================================
   Links
   ========================================================================== */

a { color: #076bcb; }
a:visited { color: #551a8b; }
a:focus { outline: thin dotted; }

/* Improve readability when focused and hovered in all browsers: people.opera.com/patrickl/experiments/keyboard/test */
a:hover, a:active { outline: 0; }
a:hover { color: #00873c; }

/* =============================================================================
   Typography
   ========================================================================== */

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: bold; }

blockquote { margin: 1em 40px; }

dfn { font-style: italic; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #999999; margin: 1em 0; padding: 0; }

ins { background: #ff9; color: #000; text-decoration: none; }

mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }

/* Redeclare monospace font family: en.wikipedia.org/wiki/User:Davidgothberg/Test59 */
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }

/* Improve readability of pre-formatted text in all browsers */
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }
q:before, q:after { content: ""; content: none; }

small { font-size: 85%; line-height: 1.2; }

/* Position subscript and superscript content without affecting line-height: gist.github.com/413930 */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }


/* =============================================================================
   Lists
   ========================================================================== */

ul, ol { margin: 5px 0; padding: 0; }
dd { margin: 0 0 0 40px; }


/* =============================================================================
   Embedded content
   ========================================================================== */

/*
 * Improve image quality when scaled in IE7
 * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */

img { border: 0; -ms-interpolation-mode: bicubic; }

/*
 * Correct overflow displayed oddly in IE9
 */

svg:not(:root) {
    overflow: hidden;
}


/* =============================================================================
   Figures
   ========================================================================== */

figure { margin: 0; }


/* =============================================================================
   Forms
   ========================================================================== */

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }

/*
 * 1. Correct color not inheriting in IE6/7/8/9 
 * 2. Correct alignment displayed oddly in IE6/7
 */

legend { border: 0; *margin-left: -7px; padding: 0; }

/* Indicate that 'label' will shift focus to the associated form element */
label { cursor: pointer; }

/*
 * 1. Correct font-size not inheriting in all browsers
 * 2. Remove margins in FF3/4 S5 Chrome
 * 3. Define consistent vertical alignment display in all browsers
 */

button, input, select, textarea { font-size: 100%; margin: 0; } /* KAZ c/o: vertical-align: baseline; *vertical-align: middle; */

/*
 * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
 * 2. Correct inner spacing displayed oddly in IE6/7
 */

button, input { line-height: normal; *overflow: visible; }

/*
 * 1. Display hand cursor for clickable form elements
 * 2. Allow styling of clickable form elements in iOS
 */

button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }

/*
 * Consistent box sizing and appearance
 */

input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }

/*
 * Remove inner padding and border in FF3/4
 * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
 */

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/* Remove default vertical scrollbar in IE6/7/8/9 */
textarea { overflow: auto; vertical-align: top; }

/* Colors for form validity */
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }


/* =============================================================================
   Tables
   ========================================================================== */

table {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0;
}

td {
	padding: 0;
}

table.noborder {
	margin: 0;
}
table.noborder td {
	border: 0;
}

/* ==================
   Initializr Theme
   ================== */

body {
	font-family: "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
/*	font-family: "游明朝体", "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN W3", HiraMinPro-W3, "HGP明朝B", "HG明朝B", "ＭＳ Ｐ明朝", "MS PMincho", serif; */
	background-color: white;
	color:#4d4d4d;
}
p, address {
	margin-top: 5px;
	margin-bottom: 10px;
}
address {
	font-style: normal;
}
section {
	clear: both;
}
h2, h3, h4, h5 {
	margin: 12px 0 0;
}
h2, h3, h4 {
	color:black;
}
h2 {
	font-size: 180%;
}
h3 {
	font-size: 160%;
	line-height: 130%;
}
h4 {
	font-size: 105%;
}
h5 {
	font-size: 100%;
}

iframe {
	display: block;
	overflow: hidden;
	border: 0;
}
.nomargin {
	margin: 0;
}
a:hover img,	/* MTL Mat changed from .transbtn:hover to this. Perfect automatic opacity */
span.current .transbtn {
	opacity: 0.75;
	filter: alpha(opacity=75);
}
.ios a:hover img {
/* iOS 8.4.1 以降で :hover に opacity が指定してあると 2 回タップしないとリンク先に飛ばない。script.js でユーザーエージェントを見て body に class="ios" を追加。 */
	opacity: 1;
	filter: none;
}
.righttop {	/* Force to position right top most of the parent element, which has position: relative */
	 position: absolute;
	 right: 0;
	 top: 0;
}
.rightbottom {
	 position: absolute;
	 right: 0;
	 bottom: 0;
}
img.withintext {
	vertical-align: middle;
}
.maru {	/* Aki */
	font-family: 'Zen Maru Gothic', sans-serif;
}
.mont {	/* Aki */
	font-family: 'Montserrat', sans-serif;
}
ul.nostyle {
	list-style: none;
	margin: 0;
}

/* Common */
.telbtn a,
.telbtn .nolink {
	display: inline-block;
	color: inherit;
	font-size: 206.3%;	/* 33px */
	background: #FFAE80;
	border-radius: 35px;
	padding: 12px 55px 6px 86px;
}
.telbtn .tel_number {
	display: inline-block;
	position: relative;
}
.telbtn .tel_number::before {
	content: "";
	display: inline-block;
	width: 40px;
	height: 40px;
	background: url(./images/icon_tel.svg)no-repeat center / 19px auto white;
	border-radius: 50%;
	position: absolute;
	top: 12px;
	left: 23px;
	
}

/* ===============================
   The Structure
   =============================== */
#header, #wrapper, #footer {
	position: relative;
	width: 100%;
}
#header iframe, #header_inner, header#branding, #page_title, #content section > .wall, #footer iframe, .ft_nav_top, #footer_inner {
	position: relative;
	margin-left: auto;
	margin-right: auto;
}


/* ===============================
   Header: logo, top menu area
   =============================== */
#header {
}
#header iframe {
	height: 150px;	/* Aki was 127px */
}
header#branding {
	height: 150px;
}
#masthead {
	overflow: hidden;
}
#masthead #logo {
	float: left;
}
#masthead h1#headlogo {
	margin-top: 45px;
	margin-bottom: 0;
}
#masthead .tel_wrap {
	padding-top: 20px;
	padding-left: 60.8%;
}
#masthead .tel_wrap .descr {
	margin-bottom: 5px;	/* KAZ */
	padding-left: 80px;
	font-size: 125%;	/* 22px */
}
#masthead .tel_wrap .telbtn {
}


/* =Menu
-------------------------------------------------------------- */
#menu_open_btn,
#menu_close_btn {
	position: absolute;
	top: 0;
	right: 0;
/*	width: 72px;
*	height: 76px; Aki */
	background-color: white;
}
#menu_open_btn {
	position: absolute;
}
#menu_open_btn img, #menu_close_btn img {
	width: 100%;
	height: auto;
}
#menu_open_btn a {
	display: block;
	padding-top: 30px;
}
#menu_overlay,
#headmenu {
	display: none;
}
#menu_overlay {
	background-color: rgba(0,0,0,0.3);
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}
#headmenu {
	background-color: #FFFFFF;
	position: absolute;
	top: 0;
	padding: 60px 0 0;
	z-index: 1;
}
#menu_close_btn {
	position: absolute;
	z-index: 10;
}
#menu_close_btn a {
	display: block;
	padding: 30px 50px 0 0;
}
#headmenu .imgonly.logo {
	width: 272px;
	height: auto;
	padding-left: 40px;
}
#headmenu .imgonly.logo img {
	width: 100%;
}
#headmenu ul {
	border-top: solid 2px #FD9A61;
	margin-top: 25px;
	margin-bottom: 0;
}
#headmenu ul li {
	position: relative;
	list-style-type: none;
}
#headmenu ul li a {
	display: block;
	color: #414141;
	text-align: center;
	text-decoration: none;
	padding: 25px 0;
}
#headmenu ul li a:hover {
	opacity: 0.75;
}
#headmenu ul li:first-child a {
	padding-top: 50px;
}
#headmenu .catchcopy_line {
	color: white;
	text-align: center;
	background: #55A382;
	padding: 25px 0;
}
#headmenu .catchcopy_line .descr {
	font-weight: 600;
}

/* ==================
   Page Title
   ================== */
#page_title {
	position: relative;
	overflow: hidden;
}
#page_title h1 {
	margin: 0;
	font-size: 200%;
}

/* ==================
   Main
   ================== */
#wrapper {
}
#main {
}


/* 遅延表示効果: 08.2022 Aki
----------------------------------------------- */
.page #content > section .wall, .page .entry-content > section .wall, .slide-from-bottom {	/* script.js 内の $sections のセレクターと同期が必要 */
	/* See also @media print */
	visibility: hidden;
}
.slideInFromBottom {
	animation-duration: 1.5s;
	animation-fill-mode: both;
	animation-name: slideInFromBottom;
	animation-timing-function: ease;
	visibility: visible !important;
}
@keyframes slideInFromBottom {
	0% { opacity: 0; transform: translateY(100px); }
	100% { opacity: 1; transform: translateY(0); }
}


/* =========================================
   Contents (common among all pages)
   ======================================= */
#content {
	position: relative;
}
#content img.alignleft {
	display: block;
	position: relative;
	float: left;
	margin-right: 2em;
}
#content img.alignright {
	display: block;
	position: relative;
	float: right;
	margin-left: 2em;
}
#content ul {
	list-style-type: none;
}
#content ul li {
}
#content table th, #content table td {
	border: 1px solid #cccccc;
	padding: 3px 10px;
}

#content table thead th, #content table thead td {
	background-color: #0D5593;
	color: white;
}
#content table th {
}

.mainvisual .wall,
section .wall {	/* Aki */
	width: 1000px;
	margin: 0 auto;
}
section .imgonly img {	/* Aki */
	width: 100%;
}
section h2, section h3 {
	text-align: center;
	font-weight: 500;
}

/* ===============================
   Contents (top page only)
   ================== */
.mainvisual {
	background: url(./images/mainvisual.jpg)no-repeat center top /cover;
}
.mainvisual .wall {
	position: relative;
}
.mainvisual .imgonly, .mainvisual .imgonly img {
	width: 100%;
}
.mainvisual .imgonly.nagano {
	height: auto;
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
}
.mainvisual .message {
	color: white;
	font-weight: 700;
	text-shadow: 4px 3px 6px rgb(0 0 0 / 50%);
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
}
.mainvisual .message .descr.line1 {
	font-size: 268.8%;	/* 43px */
}
#top_intro .wall {
	position: relative;
}
#top_intro h3, #top_aboutus h3  {
	text-align: left;
}
#top_intro .imgonly, #top_aboutus .imgonly {
	box-shadow: 13px 10px 0px #55a382;
	margin-right: auto;
}
#top_intro .text_wrap .text , #top_aboutus .text_wrap .text {
	line-height: 2.3;
	padding-top: 20px;
}
#top_information {
	padding-bottom: 95px;
}
#top_information h3 {
}
#top_information .descr.message {
	text-align: center;
}
#top_information ul > li .imgonly {
}
#top_information ul > li .num {
	position: relative;
	color: #507465;
	font-size: 112.5%;	/* 18px */
	font-weight: 500;
	padding-top: 10px;
}
#top_information ul > li .num::after {
	content: "";
	display: inline-block;
	width: 250px;
	height: 1px;
	background: #507465;
	position: absolute;
	right: 0;
	top: calc(50% + 5px);
}
#top_information ul > li .ttl {
	font-size: 150%;	/* 24px */
	padding: 10px 0 15px;
}
#top_information ul > li .text {
}
#top_information .more, #top_aboutus .more {
	text-align: right;
	padding-top: 50px;
}
#top_information .more a, #top_aboutus .more a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
	border-bottom: solid 2px #507465;
}
#top_information .more a:hover, #top_aboutus .more a:hover {
	opacity: 0.75;
}
#top_aboutus {
	padding-bottom: 95px;
}
#top_aboutus .wall {
	position: relative;
}
#top_aboutus .imgonly {
	box-shadow: 13px 10px 0px #E8B395;
	margin-right: 0;
	margin-left: auto;
}
#top_aboutus .text_wrap .text {
	font-size: 100%;
	line-height: 1.5;
}

/* ===============================
   Contents (other page only)
   ================== */
/* Information Page */
#info_intro {
}
#info_intro .wall {
	padding-bottom: 95px;
}
#info_intro .descr {
	line-height: 2.1;
	margin: 0 auto;
}
.info_sec {
	position: relative;
}
.info_sec .ttl_wrap .num {
	color: #55A382;
	font-style: italic;
	font-weight: 600;
}
.info_sec .ttl_wrap h3 {
	text-align: left;
}
.info_sec .descr {
	line-height: 1.75;
}
#info_sec01, #info_sec03 {
	background: #FAFAFA;
}

/* Aboutus Page */
.aboutus_sec {
	padding-bottom: 60px;
}
.aboutus_sec h3 {
	text-align: left;
}
.aboutus_sec h3::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 5px;
	background: #FFAE80;
	vertical-align: super;
	margin-right: 15px;
}
#aboutus_sec01 {
	position: relative;
}
#aboutus_sec01 .descr {
	line-height: 2.25;
}
#aboutus_sec01 .ttl_info {
	color: #FFAE80;
	font-size: 150%;
	padding-top: 15px;
	padding-bottom: 10px;
	position: relative;
}
#aboutus_sec01 .ttl_info::after {
	content: "";
	display: inline-block;
	width: 370px;
	height: 2px;
	background: #FFAE80;
	vertical-align: middle;
	margin-left: 15px;
	position: absolute;
	top: 50%;
	right: 0;
}
dl.info_wrap, dl.enkaku_wrap, dl.access_wrap {
	overflow: hidden;
	margin: 0;
}
dl.info_wrap dt, dl.info_wrap dd {
	padding-top: 10px;
	padding-bottom: 10px;
}
dl.info_wrap dt, dl.enkaku_wrap dt, dl.access_wrap dt {
	font-weight: 600;
}
dl.info_wrap dd, dl.enkaku_wrap dd, dl.access_wrap dd {
	line-height: 1.5;
	margin: 0;
}
#aboutus_sec02 {
	background: url(./images/sample.jpg)no-repeat center top /1000px auto;
}
#aboutus_sec02 .wall {
}
#aboutus_sec02 .inner_bg {
	background: rgba(250,250,250,0.8);
}
dl.enkaku_wrap {
	border-top: solid 1px #707070;
	margin-top: 20px;
}
dl.enkaku_wrap dt, dl.enkaku_wrap dd {
	padding-top: 20px;
	padding-bottom: 20px;
}
dl.enkaku_wrap dd {
	border-bottom: solid 1px #707070;
}
#aboutus_sec03 {
}
#aboutus_sec03 .add {
	padding: 10px 0;
}
#aboutus_sec03 .ttl_car {
	font-size: 125%;	/* 20px */
}
dl.access_wrap dt {
	float: left;
}
#aboutus_sec03 .gmap iframe {
	width: 100%;
	height: 100%;
}

/* ==================
   Footer
   ================== */
#ft_nav_top {
	clear: both;
	margin-top: 22px;
	z-index: 1;
}
#ft_nav_top a {
	display: block;
	text-align: center;
	text-decoration: none;
}
#footer {
	clear: both;
	background: url(/images/bg_footer.jpg)no-repeat center center /cover;
}
#footer_inner {
	background: transparent;
	padding: 47px 0 18px;
}
#footer_inner a {
	color: inherit;
}
#ft_logowrap {
}
#ft_logowrap #footerlogo {
}
#ft_logowrap #ft_add, #ft_logowrap #ft_hour {
	font-size: 125%;	/* 20px */
}
#ft_logowrap #ft_add {
	padding-bottom: 15px;
}
#ft_menu {
}
#ft_menu ul {
	background: rgba(255,255,255,0.3);
	padding: 22px 18px;
}
#ft_menu ul > li {
	width: 200px;
	border-bottom: solid 1px #707070;
}
#ft_menu ul > li:first-child {
	border-top: solid 1px #707070;
}
#ft_menu ul > li a {
	display: block;
	color: inherit;
	text-decoration: none;
	padding: 7px;
}
#ft_telwrap {
}
#ft_telwrap .descr {
	font-size: 187.5%;
	font-weight: 400;
	line-height: 1.5;
	padding-bottom: 10px;
}
#ft_telwrap .fax, #ft_telwrap .mail {
	color: white;
	text-align: center;
	font-weight: 600;
}
#ft_telwrap .fax{
	padding: 10px 0 5px;
}
#ft_telwrap .telbtn a, #ft_telwrap .telbtn .nolink {
	background: white;
	border: solid 1px #FD9A61;
}
#ft_telwrap .telbtn .tel_number::before {
	background: url(./images/icon_tel.svg)no-repeat center / 19px auto #FFCF9F;
	border: solid 1px #FD9A61;
}
#copyright {
	color: white;
	clear: both;
	text-align: center;
}
#copyright p {
	margin-bottom: 0;
}

/* Contain floats: nicolasgallagher.com/micro-clearfix-hack/ */ 
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }


/* =============================================================================
   Responsive structure
   ========================================================================== */
/* PC */
@media print, screen and (min-width: 768px) {
	.sponly {
		display: none !important;
	}

	body {
		min-width: 1200px;	/* KAZ *//* 07.2022 Aki was 1260px */
	}
	#header iframe, #header_inner, header#branding, #page_title, #content section > .wall, #footer iframe, .ft_nav_top, #footer_inner {
		width: 1200px;	/* 07.2022 Aki was 1250px */
	}

	section h2 {
		font-size: 350%;	/* 56px */
		margin-bottom: 40px;
	}
	section h3 {
		font-size: 250%;	/* 40px */
	}

/* header */
	#headmenu {
		width: 500px;
		right: -55px;	/* Aki was 0 */
	}
	#headmenu ul li a {
		font-size: 212.5%;	/* 34px */
	}
	#headmenu .catchcopy_line .sub {
		font-size: 125%;	/* 20px */
	}
	#headmenu .catchcopy_line .descr {
		font-size: 200%;	/* 32px */
	}


/* footer */
	#footer, #footer iframe {
		height: 336px;
	}
	#ft_wrapper {
		display: flex;
		justify-content: space-between;
	}
	#ft_logowrap #ft_hour {
		background: white;
		padding: 5px 23px;
	}
	#ft_telwrap .fax{
		font-size: 137.5%;	/* 22px */
	}
	#ft_telwrap .mail  {
		font-size: 125%;	/* 22px */
	}



/* FrontPage */
	.mainvisual .imgonly.nagano {
		width: 41%;
		max-width: 410px;
		left: -45px;
	}
	.mainvisual .wall {
		padding-top: 45.36%;
	}
	.mainvisual .message {
		width: 100%;
		text-align: center;
		left: 50%;
		transform: translatex(-50%);
	}
	.mainvisual .message .descr.line2 {
		font-size: 150%;	/* 24px */
	}
	#top_intro .imgonly, #top_aboutus .imgonly {
		width: 670px;
		height: 500px;
	}
	#top_intro .text_wrap, #top_aboutus .text_wrap {
		width: 525px;
		background: rgba(255,255,255,0.85);
		position: absolute;
		top: 199px;
		right: 0;
		padding: 20px 30px 20px 20px;
	}
	#top_aboutus .text_wrap {
		top: 140px;
		left: 0;
		padding-right: 0;
		padding-right: 20px;
	}
	#top_intro .text_wrap .text , #top_aboutus .text_wrap .text {
		font-size: 125%;	/* 20px */
	}
	#top_intro {
		padding: 85px 0 105px;
	}
	#top_information .more a, #top_aboutus .more a {
		font-size: 187.5%;
		background: url(./images/arrow_right.svg)no-repeat center right 10px;
		padding: 10px 130px 10px 250px;
	}
	#top_information .descr.message {
		font-size: 125%;
		padding: 40px 0 55px;
	}
	#top_information ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	#top_information ul > li {
		width: 280px;
	}


/* Contents  */
/* Information Page */
	#info_intro .descr {
		width: 82%;
		font-size: 125%;	/* 20px */
	}
	.info_sec {
		min-height: 720px;
	}
	.info_sec .wall {
		padding: 60px 0;
	}
	.info_sec .ttl_wrap {
		padding-top: 20px;
	}
	.info_sec .ttl_wrap .num {
		font-size: 250%;	/* 40px */
	}
	.info_sec .imgonly {
		position: absolute;
		top: 60px;
		left: 0;
		width: 43.79%;
		height: 600px;
		border-radius: 0 300px 300px 0;
		overflow: hidden;
	}
	.info_sec .imgonly img, #aboutus_sec01 .imgonly img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.info_sec .descr {
		font-size: 125%;	/* 20px */
		padding-top: 35px;
	}
	.info_sec .descr::after {
		content: "";
		display: block;
		width: 100%;
		height: 4px;
		background: #55A382;
		margin-top: 50px;
	}
	#info_sec02 .imgonly {
		left: auto;
		right: 0;
		border-radius: 300px 0 0 300px;
	}
	#info_sec01 .ttl_wrap, #info_sec01 .descr,
	#info_sec03 .ttl_wrap, #info_sec03 .descr{
		padding-left: calc(43.79% + 60px);
	}
	#info_sec02 .ttl_wrap, #info_sec02 .descr {
		padding-right: calc(43.79% + 60px);
	}


/* Aboutus Page */
	#aboutus_sec01 .imgonly {
		position: absolute;
		width: 42.33%;
		height: 735px;
		top: 0;
		left: 0;
		overflow: hidden;
		border-radius: 0 100px 100px 0;
	}
	#aboutus_sec01 {
		position: relative;
		min-height: 735px;
	}
	#aboutus_sec01 .ttl_wrap, #aboutus_sec01 .descr, #aboutus_sec01 .ttl_info, dl.info_wrap {
		padding-left: calc(42.33% + 50px);
	}
	#aboutus_sec01 .ttl_wrap {
		padding-top: 50px;
	}
	#aboutus_sec01 .ttl_wrap .sub {
		font-size: 150%;	/* 24px */
		font-weight: 500;
		padding: 10px 0 10px 45px;
	}
	dl.info_wrap dt, dl.enkaku_wrap dt {
		float: left;
	}
	dl.info_wrap dd, dl.enkaku_wrap dd, dl.access_wrap dd {
		padding-left: 180px;
	}
	dl.enkaku_wrap dt {
		padding-left: 45px;
	}
	#aboutus_sec02 {
		padding: 180px 0;
	}
	#aboutus_sec02 .inner_bg {
		padding: 60px 0;
	}
	#aboutus_sec03 .add {
		font-size: 150%;	/* 24px */
	}
	dl.access_wrap dd {
		padding-left: 300px;
	}
	#aboutus_sec03 .gmap {
		height: 475px;
		padding-top: 45px;
	}


}

/* Smartphone */
@media screen and (max-width: 767px) {
	.pconly {
		display: none !important;
	}

	body {
/*		min-width: 320px; 07.2022 Aki */	/* KAZ */
	}
	#header iframe, #header_inner, #masthead, #page_title, #content section > .wall, #footer_inner, .ft_nav_top,
	.mainvisual .wall, section .wall {
		width: 88%;
		margin: 0 auto;
	}
	section h2 {
		font-size: 250%;	/* 40px */
		margin-bottom: 40px;
	}
	section h3 {
		font-size: 162.5%;	/* 26px */
	}


/* header */
	header#branding {
		height: 60px;
	}
	#masthead h1#headlogo, #headmenu .imgonly.logo {
		width: 59.68%;
		min-width: 188px;
		margin-top: 15px;
	}
	#headmenu .imgonly.logo {
		width: 50.13%;
		padding-left: 6%;
		margin-top: 0;
	}
	#menu_open_btn, #menu_close_btn {
		width: 34px;
		height: auto;
		right: 8%;
		background: transparent;
	}
	#menu_open_btn a, #menu_close_btn a {
		padding: 15px 0 0;
	}
	#masthead h1#headlogo img, #headmenu .imgonly.logo img {
		width: 100%;
	}
	#masthead  .tel_wrap {
		display: none;
	}
	#headmenu {
		width: 100%;
		right: 0;
		padding-top: 15px;
	}
	#headmenu ul {
		margin-top: 0;
	}
	#headmenu ul li a {
		font-size: 143.8%;	/* 23px */
	}
	#headmenu .catchcopy_line .sub {
		font-size: 112.5%;	/* 18px */
	}
	#headmenu .catchcopy_line .descr {
		font-size: 156.3%;	/* 25px */
	}



/* footer */
	#footer, #footer iframe {
		height: 423px;
	}
	#footer {
		background: url(/images/sp/bg_footer.jpg)no-repeat top center /cover;
	}
	#ft_logowrap #footerlogo, #ft_logowrap #footerlogo img {
		width: 98%;
	}
	#ft_wrapper {
		display: block;
	}
	#ft_menu, #ft_telwrap .descr {
		display: none;
	}
	#ft_telwrap .telbtn {
		text-align: center;
		padding-top: 20px;
	}
	#ft_telwrap .telbtn .tel_number::before {
		width: 30px;
		height: 30px;
		background: url(./images/icon_tel.svg)no-repeat center / 15px auto #FFCF9F;
		top: 9px;
		left: 15px;
	}
	#ft_telwrap .telbtn a {
		font-size: 112.5%;
		padding: 10px 25px 10px 55px;
	}
	#copyright {
		font-size: 87.5%;
	}

/* FrontPage */
	.mainvisual .wall {
		padding-top: 81.33%;
	}
	.mainvisual .imgonly.nagano {
		width: 36.53%;
		min-width: 137px;
		right: 0;
	}
	.mainvisual .message .descr.line1 {
		font-size: 162.5%;	/* 26px */
		padding-bottom: 19px;
	}
	#top_intro {
		padding: 60px 0;
	}
	#top_intro h3, #top_aboutus h3 {
		padding-top: 30px;
	}
	#top_intro .imgonly, #top_aboutus .imgonly {
		width: calc(100% - 13px);
	}
	#top_information .more a, #top_aboutus .more a {
		background: url(./images/arrow_right.svg)no-repeat bottom 10px right / 24px auto;
		padding: 5px 65px 10px 105px;
	}
	#top_information {
		background: #FFCF9F;
		padding: 60px 0;
	}
	#top_information .descr.message {
		padding: 34px 0 40px;
	}
	#top_information ul > li {
		background: white;
		padding: 20px;
	}
	#top_information ul > li:not(:last-child) {
		margin-bottom: 30px;
	}
	#top_information ul > li .num::after {
		width: 88.73%;
	}
	#top_aboutus {
		padding: 60px 0;
	}




/* Contents  */
/* Information Page */
	.info_sec .wall {
		padding: 30px 0;
	}
	.info_sec .ttl_wrap .num {
		font-size: 150%;	/* 24px */
	}
	.info_sec .ttl_wrap h3 {
		padding-bottom: 10px;
		margin-top: 0;
	}
	.info_sec .descr {
		border-bottom: solid 2px #55A382;
		padding-bottom: 15px;
	}

/* Aboutus Page */
	#aboutus_sec01 .ttl_wrap .sub {
		font-size: 125%;	/* 20px */
	}
	#aboutus_sec01 .ttl_info::after {
		width: 50%;
	}
	#aboutus_sec02  {
		background-size: cover;
		padding-bottom: 0;
	}
	#aboutus_sec02 .inner_bg {
		padding: 30px 0;
	}
	dl.enkaku_wrap dd {
		padding-top: 0;
	}
	#aboutus_sec03 .add {
		font-size: 125%;
	}
	dl.access_wrap dd {
		padding-left: 63.49%;
	}
	#aboutus_sec03 .gmap {
		height: 315px;
		padding-top: 30px;
	}


}
@media screen and (max-width: 450px) {
	#aboutus_sec01 .ttl_wrap .sub .sp_right {
		display: block;
		text-align: right;
	}
}




/* =============================================================================
   Print styles.
   Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
/*	a, a:visited { color: #444 !important; text-decoration: underline; } */	/* JAN-2019 KAZ: c/o */
	thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */
	tr, img { page-break-inside: avoid; }
	img { max-width: 100% !important; }
	@page { margin: 0.5cm; }
	h2, h3 { page-break-after: avoid; }

	body {
		width: 1200px;	/* KAZ *//* 07.2022 AKi was 1260px */
	}
	.page #content > section .wall, .page .entry-content > section .wall, .slide-from-bottom {	/* script.js 内の $sections のセレクターと同期が必要 */
		visibility: visible;
	}

}
