/*
Author: MAIDOSOFT
Author URI: http://www.maido.co.jp/
*/



/*
======================================
 1. Reset Style
======================================
 * http://meyerweb.com/eric/tools/css/reset/ 
 * v2.0b2 | 201101
 * NOTE: THIS IS A BETA VERSION (see previous line)
 * USE WITH CAUTION AND TEST WITH ABANDON
*/
*, *:before, *:after {
	-webkit-appearance: none
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-text-size-adjust: none;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
.clear { clear: both; }
.button::-moz-focus-inner { border: none; }
a { outline: 0; }
.mincho {font-family: "source-han-serif-japanese",serif;}




/*
======================================
Base Style
======================================
*/
html {
	font-size: 62.5%;
	height: 100%;
	scroll-padding-top: 120px;
}
@media screen and (max-width:768px) {
	html {
		scroll-padding-top: 60px;
	}
}
body {
	position: relative;
	background: #fff;
	font-family: roboto, ryo-gothic-plusn, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-feature-settings : "palt" 1;
	font-size: 2.4rem;
	font-weight: 400;
	color: #000;
	height: 100%;
	line-height: 2.0em;
}
@media screen and (max-width:768px) {
	body {
		font-size: 2.0rem;
	}
}
@media screen and (max-width:640px) {
	body {
		font-size: 1.8rem;
	}
}
/*@media all and (-ms-high-contrast:none) {
	body {
		font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	}
}*/
a {
	color: #1a0dab;
	text-decoration: none;
}
a:hover {
	color: #1a0dab;
	text-decoration: underline;
}
.clear{
	clear: both;
	line-height: 0;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {min-height: 1px;}
* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}
::-moz-selection {
	background: #d6caab;
	color: #fff;
}
::selection {
	background: #d6caab;
	color: #fff;
}
.skip {
	display: none;
}
.HiddenContent {
	position: absolute;
	top: -10000px;
	left: -10000px;
}

:root {
	--main: #07c755;
	--sub1: #e50112;
	--sub2: #007eb3;
}





#nav-toggle {
	display: none;
}
#toggle {
	z-index: 7000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 1em;
	background: rgba(255,255,255,1);
	color: #333;
	transform: translate(-100%);
	transition: all .25s ease-in-out;
	opacity: 0;
}
header.open #toggle {
	transform: translate(0%);
	opacity: 1;
	overflow-y: auto;
}
#globalheader #toggle .logo {
	display: block;
}
#globalheader #toggle .logo a {
	font-size: 4.8rem;
	font-weight: 900;
	color: var(--main);
	line-height: 1em;
	text-decoration: none;
}
#globalheader #toggle .logo a span {
	font-size: 2.4rem;
	line-height: 1em;
	color: #000;
}
#globalheader #toggle ul {
	margin-top: 3em;
	border-bottom: 1px solid #ddd;
}
#globalheader #toggle ul li {
	border-top: 1px solid #ddd;
}
#globalheader #toggle ul li a {
	display: block;
	padding: 1em;
	font-weight: 700;
	color: #000;
	text-decoration: none;
	text-align: center;
	transition: all .25s ease-in-out;
}
#globalheader #toggle ul li a:hover {
	color: var(--main);
}
#globalheader #toggle ol {
	margin-top: 2em;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 1em;
}
#globalheader #toggle ol li figure img {
	width: 60px;
	height: auto;
	vertical-align: top;
}
@media screen and (max-width:768px) {
	#nav-toggle {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 60px;
		height: 60px;
		padding: 15px;
		cursor: pointer;
		z-index: 8000;
		background: var(--main);
		font-size: 64.28%;
		text-align: center;
	}
	#nav-toggle div {
		position: relative;
	}
	#nav-toggle span {
		display: block;
		position: absolute;
		height: 2px;
		width: 100%;
		background: #fff;
		left: 0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	#nav-toggle span:nth-child(1) {top: 5px;}
	#nav-toggle span:nth-child(2) {top: 14px;}
	#nav-toggle span:nth-child(3) {top: 23px;}
	#nav-toggle img {
		display: block;
		position: absolute;
		top: 18px;
		left: 0px;
		width: 100%;
		height: auto;
	}
	.open #nav-toggle span:nth-child(1) {
		width: 100%;
		top: 14px;
		left: 0px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		width: 100%;
		top: 14px;
		left: 0px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
}
@media screen and (max-width:640px) {
	#globalheader #toggle .logo a {
		font-size: 4.2rem;
		line-height: 1em;
	}
	#globalheader #toggle .logo a span {
		font-size: 2.1rem;
		line-height: 1em;
	}
}
@media screen and (max-width:480px) {
	#globalheader #toggle .logo a {
		font-size: 3.0rem;
		line-height: 1em;
	}
	#globalheader #toggle .logo a span {
		font-size: 1.6rem;
		line-height: 1em;
	}
}


.wrap {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}
@media screen and (max-width:1000px) {
	.wrap {
		padding: 0 1em;
	}
}

.column {
	margin-bottom: 8em;
}
@media screen and (max-width:640px) {
	.column {
		margin-bottom: 5em;
	}
}

.title {
	margin-bottom: 3em;
	font-size: 3.0rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.5em;
}
.title::after {
	content: "";
	display: block;
	width: 90px;
	height: 3px;
	margin: .5em auto 0;
	background: var(--sub2);
}
@media screen and (max-width:768px) {
	.title {
		font-size: 2.4rem;
		line-height: 1.5em;
	}
}
@media screen and (max-width:640px) {
	.title {
		font-size: 2.1rem;
		line-height: 1.5em;
	}
}
@media screen and (max-width:480px) {
	.title {
		font-size: 1.8rem;
		line-height: 1.5em;
	}
}





#globalheader {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 1em;
	background: rgba(255,255,255,0);
	z-index: 200;
	transition: all .25s ease-in-out;
}
#globalheader.fixed {
	background: rgba(255,255,255,0.9);
}
#globalheader .logo {
	line-height: 1em;
}
#globalheader .logo a {
	font-size: 6.0rem;
	font-weight: 900;
	color: var(--main);
	line-height: 1em;
	text-decoration: none;
}
#globalheader .logo a span {
	font-size: 3.0rem;
	line-height: 1em;
	color: #000;
}
#globalheader nav {
	display: flex;
	align-items: center;
	margin-left: auto;
	line-height: 1em;
}
#globalheader nav ul {
	display: flex;
	align-items: center;
	gap: 0 1.5em;
	line-height: 1em;
}
#globalheader nav ul li {
	line-height: 1em;
}
#globalheader nav ul li a {
	display: inline-block;
	color: #000;
	line-height: 1em;
	text-decoration: none;
	transition: all .25s ease-in-out;
}
#globalheader nav ul li a:hover {
	color: var(--main);
}
#globalheader nav ol {
	display: flex;
	align-items: center;
	gap: 0 0.75em;
	margin-left: 2em;
	line-height: 1em;
}
#globalheader nav ol li {
	line-height: 1em;
}
#globalheader nav ol li a figure img {
	width: 50px;
	height: auto;
	vertical-align: top;
	transition: all .25s ease-in-out;
}
#globalheader nav ol li a:hover figure img {
	opacity: .75;
}
@media screen and (max-width:1300px) {
	#globalheader nav ul {
		gap: 0 1em;
	}
	#globalheader nav ul li a {
		font-size: 2.2rem;
		line-height: 1em;
	}
	#globalheader nav ol {
		margin-left: 1em;
	}
	#globalheader nav ol li a figure img {
		width: 40px;
	}
}
@media screen and (max-width:1200px) {
	#globalheader .logo a {
		font-size: 4.8rem;
		line-height: 1em;
	}
	#globalheader .logo a span {
		font-size: 2.4rem;
		line-height: 1em;
	}
	#globalheader nav ul li a {
		font-size: 2.0rem;
		line-height: 1em;
	}
	#globalheader nav ol {
		gap: 0 .5em;
	}
}
@media screen and (max-width:1000px) {
	#globalheader {
		padding: .75em 1em .5em;
		flex-wrap: wrap;
	}
	#globalheader .logo {
		width: 100%;
		text-align: center;
	}
	#globalheader .logo a {
		font-size: 3.6rem;
		line-height: 1em;
	}
	#globalheader .logo a span {
		font-size: 1.8rem;
		line-height: 1em;
	}
	#globalheader nav {
		margin: .5em auto 0;
	}
	#globalheader nav ul li a {
		font-size: 1.8rem;
		line-height: 1em;
	}
}
@media screen and (max-width:768px) {
	#globalheader {
		min-width: 100%;
	}
	#globalheader .logo,
	#globalheader nav ul,
	#globalheader nav ol {
		display: none;
	}
}
@media screen and (max-width:640px) {
}
@media screen and (max-width:480px) {
}




#hero {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 100vh;
	background: url(../gifs/hero.jpg?20260218) no-repeat;
	background-size: auto 100%;
	background-position: center top;
}
#hero .wrap {
	width: 100%;
	max-width: 1600px;
}
#hero .box {
	padding: 0 1em;
	text-align: left;
}
#hero strong {
	font-size: 6.0rem;
	font-weight: 700;
	color: var(--sub1);
	line-height: 1.25em;
}
#hero h1 {
	font-size: 14.3rem;
	font-weight: 900;
	line-height: 1.25em;
}
@media screen and (max-width:1500px) {
	#hero strong {
		font-size: 4.2rem;
	}
	#hero h1 {
		font-size: 11.2rem;
	}
}
@media screen and (max-width:1200px) {
	#hero strong {
		font-size: 3.2rem;
	}
	#hero h1 {
		font-size: 9.0rem;
	}
}
@media screen and (max-width:1024px) {
	#hero {
		background: url(../gifs/hero.jpg?20260218) no-repeat;
		background-size: auto 100%;
		background-position: left 55% top 0;
	}
	#hero strong {
		font-size: 2.6rem;
	}
	#hero h1 {
		font-size: 7.2rem;
	}
}
@media screen and (max-width:768px) {
	#hero {
		padding-top: 2em;
		justify-content: center;
		align-items: flex-start;
		background: url(../gifs/hero_sp.jpg?20260218) no-repeat;
		background-size: auto 270vh;
		background-position: bottom center;
	}
	#hero .box {
		padding: 0;
		text-align: center;
	}
	#hero strong {
		font-size: 5.5vw;
	}
	#hero h1 {
		font-size: 15vw;
		text-shadow: 0px 0px 10px rgba(222, 234, 227, 0.75), 0px 0px 10px rgba(222, 234, 227, 0.75), 0px 0px 10px rgba(222, 234, 227, 0.75), 0px 0px 10px rgba(222, 234, 227, 0.75), 0px 0px 10px rgba(222, 234, 227, 0.75);
	}
}
@media screen and (max-width:640px) {
}
@media screen and (max-width:480px) {
}





.message {
	margin-top: 6em;
	padding-bottom: 180px;
	background: url(../gifs/bg_message.jpg) no-repeat;
	background-size: cover;
	background-position: center bottom;
	text-align: center;
}
.message h1 {
	font-size: 9.0rem;
	font-weight: 900;
	line-height: 1.15em;
}
.message h1 span {
	color: var(--main);
}
.message h2 {
	display: inline-block;
	margin: 1em 0 2em;
	padding: 0 .25em;
	background: var(--main);
	font-size: 3.2rem;
	font-weight: 900;
	color: #fff;
	line-height: 1.25em;
}
.message h2 em {
	font-weight: 200;
}
.message h2 br {
	display: none;
}
.message .txt strong {
	display: block;
	margin-bottom: .5em;
	font-size: 3.0rem;
	font-weight: 700;
	color: var(--sub2);
}
.message .txt strong br {
	display: none;
}
@media screen and (max-width:1000px) {
	.message {
		margin-top: 4em;
	}
	.message h1 {
		font-size: 7.2rem;
		line-height: 1.25em;
	}
	.message h2 {
		font-size: 2.56rem;
		line-height: 1.25em;
	}
	.message .txt strong {
		font-size: 2.4rem;
	}
	.message .txt p {
		margin-top: 1em;
		text-align: left;
	}
	.message .txt p br {
		display: none;
	}
}
@media screen and (max-width:768px) {
	.message {
		padding-bottom: 6em;
		background: url(../gifs/bg_message.jpg) no-repeat;
		background-size: auto 150%;
		background-position: left 50% bottom 0;
	}
}
@media screen and (max-width:640px) {
	.message h1 {
		font-size: 6.3rem;
		line-height: 1.25em;
	}
	.message h2 {
		font-size: 2.24rem;
		line-height: 1.25em;
	}
	.message .txt strong {
		font-size: 2.1rem;
	}
}
@media screen and (max-width:480px) {
	.message {
		margin-top: 4em;
	}
	.message h1 {
		font-size: 4.5rem;
		line-height: 1.25em;
	}
	.message h2 {
		font-size: 1.8rem;
		line-height: 1.25em;
	}
	.message h2 br {
		display: inline;
	}
	.message .txt strong br {
		display: inline;
	}
}






.profile .name {
	display: flex;
	align-items: center;
	margin-bottom: 2em;
}
.profile .name h1 {
	font-size: 6.0rem;
	font-weight: 900;
	line-height: 1em;
	color: #000;
}
.profile .name span {
	margin-left: 1em;
	font-size: 3.0rem;
	font-weight: 500;
	line-height: 1em;
	color: var(--main);
}
.profile dl {
	display: flex;
	gap: 0 2em;
}
.profile dl dt {
	width: 40%;
}
.profile dl dt figure img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
.profile dl dd {
	width: calc(60% - 2em);
}
.profile dl dd strong {
	display: block;
	font-size: 3.0rem;
	font-weight: 500;
	color: var(--sub2);
}
.profile dl dd table {
	width: 100%;
}
.profile dl dd table:first-of-type {
	margin-bottom: 1em;
}
.profile dl dd table td {
	padding: .25em .25em;
	line-height: 1.5em;
}
.profile dl dd table .th {
	white-space: nowrap;
}
.profile dl dd table .th::before {
	content:"●";
	margin-right: .35em;
	color: var(--main);
}
@media screen and (max-width:1000px) {
	.profile .name {
		flex-direction: column;
		justify-content: center;
	}
	.profile .name h1 {
		font-size: 4.8rem;
		line-height: 1em;
	}
	.profile .name span {
		margin: .5em 0 0;
		font-size: 2.4rem;
		line-height: 1em;
	}
	.profile dl {
		flex-direction: column;
		gap: 2em 0;
	}
	.profile dl dt {
		width: 80%;
		max-width: 500px;
		margin: 0 auto;
	}
	.profile dl dd {
		width: 100%;
	}
}
@media screen and (max-width:768px) {
	.profile dl dd strong {
		font-size: 2.4rem;
	}
}
@media screen and (max-width:640px) {
	.profile dl dd strong {
		font-size: 2.0rem;
	}
}
@media screen and (max-width:480px) {
	.profile dl dd table,
	.profile dl dd table tbody,
	.profile dl dd table td {
		display: block;
		width: 100%;
	}
	.profile dl dd table td {
		padding: 0 0 1em 1.35em;
	}
	.profile dl dd table .th {
		padding: 0;
	}
}





.policy {
	margin-bottom: 8em;
}
.policy .lead {
	text-align: center;
}
.policy .lead strong {
	font-size: 3.0rem;
	font-weight: 700;
	color: var(--main);
	line-height: 1.5em;
}
.policy .lead h1 {
	margin-bottom: 0.75em;
	font-size: 9.0rem;
	font-weight: 900;
	line-height: 1.25em;
}
.policy .lead h1 span {
	display: inline-block;
	font-size: 14.0rem;
	color: var(--main);
	transform: translateY(10px);
}
.policy .lead h1 em {
	font-size: 7.2rem;
	line-height: 1em;
}
.policy .lead br.sp {
	display: none;
}
.policy .box {
	margin-top: 6em;
}
.policy .box .copy {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 .5em;
}
.policy .box .copy div {
	display: flex;
	align-items: center;
	gap: 0 .5em;
}
.policy .box .copy em {
	font-size: 7.2rem;
	font-weight: 300;
	color: var(--main);
}
.policy .box .copy span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 120px;
	height: 120px;
	background: var(--main);
	border-radius: 120px;
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1em;
	color: #fff;
}
.policy .box .copy h1 {
	margin-left: .25em;
	font-size: 4.0rem;
	line-height: 1.5em;
}
.policy .box figure {
	margin: 1em 0 2em;
}
.policy .box figure img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
.policy .box figure figcaption {
	font-size: 1.2rem;
	color: #666;
	text-align: right;
}
.policy .box .item {
	width: calc(100% - 200px);
	margin: 0 auto;
}
.policy .box .item strong {
	display: block;
	margin-top: 2em;
	font-weight: 900;
	color: var(--sub2);
}
.policy .box .item p {
}
@media screen and (max-width:1000px) {
	.policy .lead strong {
		font-size: 2.4rem;
	}
	.policy .lead h1 {
		font-size: 7.2rem;
	}
	.policy .lead h1 br {
		display: inline;
	}
	.policy .lead h1 span {
		font-size: 12.0rem;
	}
	.policy .lead h1 em {
		font-size: 5.4rem;
	}
	.policy .box {
		margin-top: 4em;
	}
	.policy .box .copy {
		flex-direction: column;
		flex-wrap: wrap;
	}
	.policy .box .copy h1 {
		margin-left: 0;
	}
}
@media screen and (max-width:768px) {
	.policy .box .item {
		width: 90%;
	}
	.policy .box .copy em {
		font-size: 6.0rem;
	}
	.policy .box .copy span {
		width: 100px;
		height: 100px;
		font-size: 2.4rem;
	}
	.policy .box .copy h1 {
		margin-top: .25em;
		font-size: 3.2rem;
	}
}
@media screen and (max-width:640px) {
	.policy .lead strong {
		font-size: 2.2rem;
	}
	.policy .lead h1 {
		font-size: 6.3rem;
	}
	.policy .lead h1 em {
		font-size: 4.2rem;
	}
	.policy .lead br.sp {
		display: inline;
	}
	.policy .box .copy em {
		font-size: 5.4rem;
	}
	.policy .box .copy span {
		width: 80px;
		height: 80px;
		font-size: 2.0rem;
	}
	.policy .box .copy h1 {
		margin-top: .25em;
		font-size: 3.2rem;
	}
}
@media screen and (max-width:480px) {
	.policy .lead strong {
		font-size: 1.8rem;
	}
	.policy .lead h1 {
		font-size: 4.5rem;
	}
	.policy .lead h1 span {
		font-size: 9.0rem;
	}
	.policy .lead h1 em {
		font-size: 3.2rem;
	}
	.policy .box .copy h1 {
		margin-top: .25em;
		font-size: 2.4rem;
	}
}




.change {
	margin-bottom: 3em;
}
.change dl {
	position: relative;
}
.change dl dt picture img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
.change dl dd {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.change dl dd strong {
	font-size: 4.4rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.65em;
}
.change dl dd strong span {
	background: var(--main);
}
@media screen and (max-width:1200px) {
	.change dl dd strong {
	font-size: 3.2rem;
	line-height: 1.65em;
	}
}
@media screen and (max-width:1000px) {
	.change dl dd strong {
		font-size: 2.6rem;
		line-height: 1.65em;
	}
}
@media screen and (max-width:768px) {
	.change dl dd {
		position: static;
		transform: translate(1em,-50%);
	}
}
@media screen and (max-width:640px) {
	.change dl dd strong {
		font-size: 2.2rem;
		line-height: 1.65em;
	}
}
@media screen and (max-width:480px) {
	.change {
		margin-bottom: 0;
	}
	.change dl dd {
		padding: 0 1em;
		transform: translateY(-40%);
	}
	.change dl dd strong {
		font-size: 2.0rem;
		line-height: 1.65em;
	}
	.change dl dd strong br {
		display: none;
	}
	.change dl dd strong br.sp {
		display: inline;
	}
}






.ouen {
	padding-bottom: 200px;
	background: url(../gifs/bg_ouen.jpg) no-repeat;
	background-size: cover;
	background-position: center bottom;
	text-align: center;
}
.ouen.column {
	margin-bottom: 0;
}
.ouen .slogan {
	margin-bottom: 6em;
}
.ouen .slogan h1 {
	margin-bottom: .5em;
	font-size: 6.0rem;
	font-weight: 900;
	line-height: 1.25em;
	color: var(--sub1);
}
.ouen .slogan h1 em {
	font-weight: 200;
}
.ouen .kouenkai .name {
	position: relative;
}
.ouen .kouenkai .name strong {
	position: relative;
	font-size: 7.0rem;
	font-weight: 900;
	color: var(--main);
}
.ouen .kouenkai .name strong img {
	position: absolute;
	top: 0;
	left: -140px;
	content: "";
	display: block;
	width: 128px;
	height: auto;
	vertical-align: top;
}
.ouen .kouenkai .name em {
	font-size: 3.0rem;
	font-weight: 500;
}
.ouen .kouenkai .joinus {
	margin-top: 2em;
}
.ouen .kouenkai .joinus h2 {
	margin-bottom: .5em;
	font-size: 3.0rem;
	font-weight: 700;
	color: var(--sub2);
}
.ouen .kouenkai .joinus .btn {
	margin-top: 1.25em;
}
.ouen .kouenkai .joinus .btn a {
	display: block;
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
	padding: 1.25em 1em;
	background: var(--main);
	color: #fff;
	line-height: 1.5em;
	text-decoration: none;
	transition: all .25s ease-in-out;
}
.ouen .kouenkai .joinus .btn a span::after {
	display: inline-block;
	content: "";
	width: 0;
	height: 0;
	margin-left: .5em;
	border-style: solid;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 10px solid #fff;
	border-right: 0;
}
.ouen .kouenkai .joinus .btn a:hover {
	background: var(--sub1);
}
@media screen and (max-width:1300px) {
	.ouen {
		padding-bottom: 8em;
	}
}
@media screen and (max-width:768px) {
	.ouen .slogan h1 {
		font-size: 4.8rem;
		line-height: 1.25em;
	}
	.ouen .kouenkai .name strong {
		font-size: 5.6rem;
	}
	.ouen .kouenkai .name strong img {
		position: absolute;
		top: 0;
		left: -110px;
		content: "";
		display: block;
		width: 100px;
		height: auto;
		vertical-align: top;
	}
	.ouen .kouenkai .name em {
		font-size: 2.3rem;
	}
}
@media screen and (max-width:640px) {
	.ouen .slogan h1 {
		font-size: 4.2rem;
		line-height: 1.25em;
	}
	.ouen .kouenkai .name strong {
		font-size: 4.9rem;
	}
	.ouen .kouenkai .name strong img {
		position: absolute;
		top: 0;
		left: -90px;
		content: "";
		display: block;
		width: 80px;
		height: auto;
		vertical-align: top;
	}
	.ouen .kouenkai .name em {
		font-size: 2.0rem;
	}
}
@media screen and (max-width:480px) {
	.ouen .slogan h1 {
		font-size: 2.6rem;
		line-height: 1.25em;
	}
	.ouen .kouenkai .name strong {
		font-size: 4.3rem;
	}
	.ouen .kouenkai .name strong img {
		position: absolute;
		top: 0;
		left: -80px;
		content: "";
		display: block;
		width: 70px;
		height: auto;
		vertical-align: top;
	}
	.ouen .kouenkai .name em {
		font-size: 1.8rem;
	}
	.ouen .kouenkai .joinus h2 {
		font-size: 2.4rem;
	}
	.ouen .kouenkai .joinus .btn a {
		padding: 1.25em .25em;
	}
	.ouen .kouenkai .joinus .btn a span::after {
		display: inline-block;
		content: "";
		width: 0;
		height: 0;
		margin-left: .5em;
		border-style: solid;
		border-top: 6px solid transparent;
		border-bottom: 6px solid transparent;
		border-left: 6px solid #fff;
		border-right: 0;
	}
}
@media screen and (max-width:400px) {
	.ouen .kouenkai .name strong {
		font-size: 4.2rem;
	}
	.ouen .kouenkai .name strong img {
		position: absolute;
		top: 5px;
		left: -50px;
		content: "";
		display: block;
		width: 45px;
		height: auto;
		vertical-align: top;
	}
	.ouen .kouenkai .name em {
		font-size: 1.8rem;
	}
	.ouen .kouenkai .joinus .btn a {
		font-size: 1.6rem;
		font-weight: 700;
	}
}






#globalfooter {
	background: var(--main);
	text-align: center;
}
#globalfooter .box {
	padding: 4em 1em;
}
#globalfooter .box .name {
	margin-bottom: .5em;
	font-weight: 900;
}
#globalfooter .box .name strong {
	font-size: 6.0rem;
	color: #fff;
}
#globalfooter .box .name span {
	font-size: 3.0rem;
}
#globalfooter .box address {
	line-height: 1.5em;
}
#globalfooter .box ul {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 1em;
}
#globalfooter .box ul li {
	line-height: 1.5em;
}
#globalfooter .box ul li a {
	color: #000;
	text-decoration: none;
}
#globalfooter .box ul li a:hover {
	text-decoration: underline;
}
#globalfooter small {
	display: block;
	padding: 2em 1em;
	background: #fff;
	font-size: 1.8rem;
	line-height: 1em;
	color: #000;
}
@media screen and (max-width:768px) {
	#globalfooter .box ul {
		flex-direction: column;
	}
}
@media screen and (max-width:640px) {
	#globalfooter {
		padding-bottom: 60px;
	}
	#globalfooter .box .name strong {
		font-size: 4.8rem;
	}
	#globalfooter .box .name span {
		font-size: 2.4rem;
	}
}
@media screen and (max-width:480px) {
	#globalfooter .box .name strong {
		font-size: 4.2rem;
	}
	#globalfooter .box .name span {
		font-size: 2.1rem;
	}
	#globalfooter small {
		font-size: 1.6rem;
	}
}






.btn_ouen {
	position: fixed;
	top: 20%;
	right: 0;
	opacity: 0;
	visibility: hidden;
	transition: all .25s ease-in-out;
}
.btn_ouen.is-show {
	opacity: 1;
	visibility: visible;
}
.btn_ouen a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1em .5em;
	background: var(--main);
	font-size: 3.0rem;
	font-weight: 700;
	color: #fff;
	line-height: 1em;
	text-decoration: none;
	writing-mode: vertical-rl;
	transition: all .25s ease-in-out;
}
.btn_ouen a span {
	display: none;
}
.btn_ouen a:hover {
	background: var(--sub1);
}
@media screen and (max-width:1300px) {
	.btn_ouen a {
		padding: 1em .75em 1em .65em;
		font-size: 2.4rem;
	}
}
@media screen and (max-width:900px) {
	.btn_ouen {
		top: auto;
		bottom: 5%;
	}
}
@media screen and (max-width:768px) {
	.btn_ouen a {
		padding: 1em .75em 1em .65em;
		font-size: 2.4rem;
	}
}
@media screen and (max-width:640px) {
	.btn_ouen {
		top: inherit;
		bottom: 0;
		left: 0;
		right: inherit;
		width: 100%;
	}
	.btn_ouen a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		padding: 1em .5em;
		font-size: 2.0rem;
		writing-mode: horizontal-tb;
		text-align: center;
	}
	.btn_ouen a span {
		display: inline;
	}
	.btn_ouen a::after {
		display: inline-block;
		content: "";
		width: 0;
		height: 0;
		margin-left: .5em;
		border-style: solid;
		border-top: 6px solid transparent;
		border-bottom: 6px solid transparent;
		border-left: 8px solid #fff;
		border-right: 0;
	}
}
@media screen and (max-width:480px) {
}

