
html {
	min-width: 250px;
	overflow-y: scroll;
}

body {
	max-width: 480px;
	min-width: 380px;
	-webkit-text-size-adjust: 90%;
}

div.df,
span.df {
	display: none;
}

span.sp,
div.sp {
	display: inline;
}

h2.title {
	padding: 35px 0 10px 0;
	width: 80%;
}

h2.title img {
	height: auto;
	width: 100%;
}

h2.subtitle img {
	height: auto;
	width: 100%;
}

h2.img,
h2.img-w {
	font-size: 28px;
	line-height: 1.4em;
}

h2.img:after,
h2.img-w:after {
	width: 50px;
}

h3.second-title {
	font-size: 105%;
}

h3.underline {
	font-size: 105%;
}

h3.copy {
	font-size: 20px;
	line-height: 1.4em;
}

/* footerメニューの見出し */
h4.footermenutitle {
	font-size: 18px;
	margin-left:10px;
}

p {
	line-height: 1.8em;
}

p.spjustify {
	text-align: justify;
}

span.link-btn a,
span.link-btn-prev a,
span.link-btn-next a,
div.page a.next,
div.page a.prev,
div.body a.link-btn,
a.link-btn,
a.link-btn-prev {
	background-size: 8px;
	display: block;
	margin: 5px 0;
	padding: 10px 20px;
	width: auto;
}

a.link-btn-white {
	display: block;
	margin: 0 15px;
	padding: 10px;
	width: auto;
}

a.link-btn-institution,
a.link-btn-general {
	display: block;
	font-size: 110%;
	padding: 18px;
}

a.link-btn {
	font-size: 100%;
}

ul.list li {
	background-position: 6px 13px;
	line-height: 1.6em;
	padding: 6px 0 6px 25px;
}

ul.paymentlist li {
	line-height: 1.6em;
	padding: 6px 0px;
}

.spwideimg {
	height: auto;
	width: 100%;
}

div.photos {
	display: inline-block;
}

div.photos a {
	display: inline-block;
	width: 32%;
}

/***********************************************************************/
div.news {
	padding: 25px 20px 15px 20px;
	width: auto;
}

div.news h3 {
	padding-bottom: 10px;
}

div.news a.btn {
	background-position: right 15px center;
	border-radius: 15px;
	font-size: 16px;
	line-height: 1.8em;
	margin: 25px auto 0 auto;
	padding: 10px 40px 10px 20px;
	width: auto;
}

div.merit h2 strong a {
	box-sizing: border-box;
	font-size: 15px;
	margin: 5px auto;
	padding: 10px 40px 10px 30px;
	text-align: justify;
	width: 98%;
}

div.merit ul {
	padding: 20px;
	width: auto;
}

div.merit ul li {
	background-position: 0 15px;
	background-size: 15px;
	font-size: 15px;
	padding: 10px 0 10px 25px;
}

div.merit h2 strong a {
	width: auto;
}

div.merit h2 strong a em {
	font-size: 13px;
}

div.movie video {
	height: auto;
	width: 100%;
}

div.movie iframe {
	height: calc(56.25vw - 25px);
	width: 100%;
}

table.list-table {
	border-top: none;
}

table.list-table th {
	border-bottom: none;
	display: block;
	padding: 10px;
	white-space: normal;
	width: auto;
}

table.list-table td {
	border-bottom: none;
	display: block;
	padding: 15px 10px 25px 10px;
}

table.list-table td table th {
	background-color: #e7e7e7;
	padding: 5px 0;
}

table.price-table {
	width: 100%;
}

div.products {
	padding: 40px 0;
}

div.products ul {
	height: auto;
	width: auto;
}

div.products ul li,
div.products ul li.wide {
	float: none;
	margin-bottom: 10px;
	margin-right: 0;
	width: auto;
}

div.products ul li:last-child {
	margin-bottom: 0;
}

div.products ul li a span.icon img {
	height: auto;
	width: 90px;
}

div.products ul li a span.goodseller img {
	height: auto;
	width: 150px;
}

div.products ul li img,
div.products ul li.wide img {
	height: auto;
	width: 100%;
}

div.products ul li a div.text h2 {
	margin: auto;
	padding: 10px 0;
	width: auto;
}

div.products ul li a div.text h2 img {
	height: auto;
	max-width: 148px;
	width: 100%;
}

div.products ul li a div.text span.detail {
	padding: 8px 0;
}

div.voices {
	margin: 0 15px;
	padding: 20px;
	width: auto;
}

div.voices p.voice-count {
	padding: 8px 20px;
	text-align: justify;
}

div.use {
	margin: 0 auto;
	padding: 15px 0;
}

div.use ul li {
	display: block;
	padding: 15px 0;
}

div.use ul li div.photo {
	display: block;
	width: auto;
}

div.use ul li div.photo img {
	height: auto;
	padding-bottom: 10px;
	width: 100%;
}

div.use ul li div.text {
	display: block;
	padding-left: 0;
}

div.use ul li div.text h3 {
	font-size: 120%;
	font-weight: bold;
	text-align: center;
}

div.questionary img {
	height: auto;
	width: 100%;
}

div.pro div.photo {
	float: none;
	width: auto;
}

div.pro div.photo img {
	height: auto;
	width: 100%;
}

div.pro div.text {
	float: none;
	padding-top: 20px;
	text-align: center;
	width: auto;
}

div.pro div.text img {
	height: auto;
	max-width: 260px;
	width: 70%;
}

div.peace {
	margin: 0 15px;
	padding: 20px 20px 10px 20px;
	width: auto;
}

div.peace div.photo {
	display: block;
	padding-right: 0;
	text-align: center;
	width: auto;
}

div.peace div.text {
	display: block;
	font-size: 90%;
}

div.application-checklist {
	margin: 0 15px;
	padding: 20px;
	width: auto;
}

div.application-checklist h2 {
	border-bottom: 5px dotted white;
	padding: 20px 10px 10px 10px;
}

div.application-checklist h3 {
	padding: 20px 20px 0 0;
}

div.application-checklist div.detail {
	padding: 0;
}

div.application-checklist div.detail table th {
	display: block;
	padding: 5px 10px;
	text-align: left;
	white-space: normal;
}

div.application-checklist div.detail table td {
	display: block;
	padding: 5px 10px 15px 10px;
}

/***********************************************************************/
table.form-table th {
	border: none;
	display: block;
	padding: 10px 0;
	text-align: center;
	white-space: normal;
	width: auto;
}

table.form-table td {
	border: none;
	display: block;
	padding: 10px 15px;
	text-align: center;
}

table.form-table td.m {
	padding: 0;
	white-space: normal;
	width: auto;
}

table.form-table td.m span {
	border-radius: 0;
	font-size: 80%;
	height: auto;
	line-height: 2em;
	width: auto;
}

table.form-table td h4 {
	padding: 10px;
	text-align: center;
}

table.form-table td h4 a {
	display: block;
	float: none;
	font-size: 80%;
}

table.form-table td h4 em {
	display: none;
}

table.form-table td ul.notelist li {
	text-align: justify;
}

table.form-table input {
	width: 90%;
}

table.form-table td input.size150,
table.form-table td input.size200,
table.form-table td input.size300,
table.form-table td input.size400,
table.form-table td input.size500,
table.form-table td textarea {
	width: 90%;
}

input.submit,
a.btn-form {
	background: url(images/link_btn.png) right 20px center no-repeat, url(images/submit_bg.gif) repeat;
	display: block;
	font-size: 130%;
	padding: 20px;
}

body#form h1 img {
	height: auto;
	margin: auto;
	width: 100%;
}

body#form table.form-table th {
	padding: 10px 20px;
	text-align: center;
	width: auto;
}

body#form table.form-table td {
	padding: 10px 20px;
}

/***********************************************************************/
ul.contents-list li {
	display: block;
	width: auto;
}

ul.contents-list li.c {
	padding: 20px 0;
}

ul.contents-list li img {
	height: auto;
	width: 100%;
}

ul.contents-list li div.text {
	padding: 12px 20px;
}

/***********************************************************************/
ul.blog-list li {
	display: inline-block;
	padding: 15px 0 20px 0;
	width: 48%;
}

ul.blog-list li img {
	display: block;
	height: auto;
	margin: auto;
	padding-bottom: 5px;
	width: 90%;
}

ul.blog-list li div.text div.category span {
	font-size: 70%;
	padding: 3px 20px;
}

ul.blog-list li div.text h3 {
	font-size: 100%;
}

span.category {
	padding: 2px 40px;
}

div.blog-category-list a span.category {
	display: block;
	padding: 0 0 5px 0;
}

div.blog-category-list a span.category span {
	display: block;
}

div.page {
	padding: 15px 0;
}

div.page span.link-btn a,
div.page span.link-btn-prev a {
	display: block;
	margin: 0;
}

div.page a.next,
div.page a.prev {
	display: block;
}

div.page a.next {
	margin: 25px 0 5px 0;
}

div.page a.prev {
	margin: 5px 0 25px 0;
}

body#single .blogtitle {
	font-size: 140%;
}

body#single div.body h2 {
	border-left: 8px solid #7b4917;
	font-size: 130%;
	line-height: 1.2em;
}

body#single div.img {
	margin: auto;
	width: auto;
}

body#single div.img img {
	height: auto;
	width: 100%;
}

body#single div.body a.link-btn {
	width: auto;
}

body#single div.body figure.wp-block-image {
	width: auto;
}

body#single div.body figure.wp-block-image img {
	height: auto;
	width: 100%;
}

/***********************************************************************/
#header {
	height: 60px;
	padding: 5px 0;
	position:relative;/* ハンバーガーボタンの位置用 */
	width: auto;
}

#header-text p {
	font-size: 70%;
	line-height: 1.9em;
	margin: auto;
	padding: 0px 0px 0px 15px;
	text-align: left;
}

#header-text h1 span.sp,
#header-text p span.sp {
	display: block;
	font-size: 125%;
	font-weight: bold;
	margin-left: 5px;
}

#header .headerlogo {
	display:inline-block;
	font-size:30px;
	margin-left:15px;
}



/* スマホ版アコーディオンメニュー全体 */
.header-inner{
	display:inline-block;
	width:100%;
}


/* =====ここからハンバーガーボタン===== */
.hamburger{
	width:35px;
	height:30px;
	position:absolute;/* #headerに親要素指定済み */
	top:20px;
	right:20px;
	display:block;
	cursor:pointer;
}

/* 3本線 */
.hamburger span{
	position:absolute;
	width:100%;
	height:3px;
	background:#000;
	left:0;
	transition:0.3s;
}

/* 線の位置 */
.hamburger span:nth-child(1){
	top:0;
}

.hamburger span:nth-child(2){
	top:13px;
}

.hamburger span:nth-child(3){
	bottom:0;
}

/* ===== チェックされたとき ===== */

/* 上線 */
#nav-toggle:checked + .hamburger span:nth-child(1){
	transform:rotate(45deg);
	top:13px;
}

/* 中線 */
#nav-toggle:checked + .hamburger span:nth-child(2){
	opacity:0;
}

/* 下線 */
#nav-toggle:checked + .hamburger span:nth-child(3){
	transform:rotate(-45deg);
	bottom:13px;
}
/* =====ここまでハンバーガーボタン===== */



/* ハンバーガーOFF時の状態のメニュー */
nav.gnav{
	display:block;
	opacity:0;/* ふわっと表示させる為opacityで指定 */
	pointer-events:none;
	transition: all 0.3s ease;
}


/* ハンバーガーONで表示 */
#nav-toggle:checked + .hamburger + nav.gnav{
	display:block;
	max-width:100%;
	opacity:1;/* ふわっと表示 */
	pointer-events:auto;
}

/* メニュー下側（元右側）のひとまとめ */
.menu-right-group {
	background:#ff614b;
	padding:10px 0px;
	border-radius:0px;
}

/* メニュー下側（元右側）のひとまとめのタイトル */
.menu-right-group p.menu-title {
	font-size:20px;
	color:#fff;
	font-weight:700;
	text-align:center;
	margin:0px 0px 10px 0px;
}

.menu-left,
.menu-right{
	width:100%;
	display:inline-block;
	margin-right:0px;
	box-sizing:border-box;
}


/* 上側（元左側）の親項目の背景がホバー時に透過されないように地を敷く */
ul.menu-left {
	background-color:#fff;
}


/* 上側（元左側）の親項目 */
ul.menu-left li.menu-item{
	position:relative;
	margin-bottom:0px;
	box-sizing:border-box;
}

/* 下側（元右側）の親項目 */
ul.menu-right li.menu-item{
	position:relative;
	border-left:10px solid #ff614b;
	border-right:10px solid #ff614b;
	box-sizing:border-box;
}


/* 全ての親項目（子メニュー有無どちらも）区切り線 */
.menu-item {
	border-bottom:1px solid #ff614b;
	box-sizing:border-box;
}
.menu-item:first-child {
	border-top:1px solid #ff614b;
	box-sizing:border-box;
}


/* 全ての親項目（子メニュー有無どちらも） */
.menu-link,
.menu-item>a {
	display:block;
	width:100%;
	height:auto;
	background-color:#fff;
	border-radius:0px ;
	padding:10px;
	text-align:center;
	text-decoration:none;
	color:#ff614b;
	box-sizing:border-box;
}


/* 子メニューが無い場合ここから */
/* 元2行のメニューも1行になるのでまとめて指定 */
li.menu-item a span.menu-text-one,
li.menu-item a span.menu-text-two-big,
li.menu-item a span.menu-text-two {
	width:100%;
	height:50px;
	font-size:20px;
	line-height: 50px;
	display:inline-block;
	padding-bottom:0px;
	box-sizing:border-box;
	align-items: center;
}
/* 子メニューが無い場合ここまで */


/* 子メニューがある場合ここから */
/* 元2行のメニューも1行になるのでまとめて指定 */
li.menu-item label.menu-link span.menu-text-one,
li.menu-item label.menu-link span.menu-text-two-big,
li.menu-item label.menu-link span.menu-text-two {
	width:100%;
	height:50px;
	font-size:20px;
	line-height: 50px;
	display:inline-block;
	padding-bottom:0px;
	box-sizing:border-box;
	align-items: center;
}

li.menu-item label.menu-link:hover {
	opacity: 0.6;/* 親項目がラベルの場合のホバー時の透明指示 */
	transition: all 0.3s ease;
}

/* 子がある親メニューのチェックボックス非表示 */
.menu-item input{
	display:none;
}
/* 子メニューがある場合ここまで */


/* スマホ版アコーディオン */
ul.submenu {
  display: none;
  position:static;
}

.menu-item input:checked + label + .submenu {
	width:100%;
	display: block;
}


/* 子メニュー */
ul.submenu li{
	border-bottom:1px solid #ccc;
	box-sizing:border-box;
	background-color:#fff6f1;
	text-align:center;
}
ul.submenu li:first-child{
	border-top:1px solid #ccc;
}

ul.submenu li a{
	display:block;
	padding:20px 20px;
	font-size:20px;
	text-decoration:none;
	box-sizing:border-box;
}




#title img {
	height: auto;
	width: 100%;
}

div.main,
div.main-s,
div.main-c,
div.main-blog,
div.spmain {
	padding: 0 20px;
	width: auto;
}



#footer {
	width: auto;
}

#footer #footer-logo {
	width:100%;
	font-size:30px;
	text-align:center;
	margin: 0 auto;
	padding: 60px 0 25px 0;
	box-sizing:border-box;
}

#footer #footer-logo span {
	font-size:20px;
}



#footer p#footer-telfax span.tel {
	font-size: 100%;
}

#footer p#footer-telfax span.fax {
	padding-left: 0;
}

#footer p#footer-telfax {
	margin-bottom: 20px;
}

#footer p#footer-telfax a {
	color: #595757;
	font-weight: 500;
	text-decoration: none;
}



#footer #footer-nav {
	width:100%;
	padding: 0;
}

/* フッターメニューの見出し含め項目のまとまり */
#footer #footer-nav ul li {
	width:100%;
	margin:0px 0px;
	text-align: center;
}

/* フッターメニューの項目 */
#footer #footer-nav ul li ul li {
	margin:0px 0px;
}

/* PC版フッターメニューの項目の点を消す */
#footer #footer-nav ul li ul li span {
	display:none;
}

#footer #footer-nav ul li ul li a {
	background: url(images/link_btn.png)no-repeat right 15px center #fceaea;
	color: #595757;
	display: block;
	padding: 10px 0;
	text-decoration: none;
}



#copyright {
	width: auto;
}

p#copy {
	text-align: center;
}



#pagetop a {
	padding: 17px 0;
	text-align: center;
}

#pagetop a img {
	height: auto;
	width: 15%;
}

