@charset "UTF-8";
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
/* These browsers currently include
** Android 4.3-4.4+,
** Chrome 39-40+,
** Firefox 34-35+,
** Internet Explorer 10-11+,
** iOS 7-8+,
** Safari 7-8+,
** Windows Phone 8.1+.
*/
/*
 * Normalization
 */
:root {
		-ms-overflow-style: -ms-autohiding-scrollbar;
		-webkit-text-size-adjust: 100%;
		   -moz-text-size-adjust: 100%;
		    -ms-text-size-adjust: 100%;
		        text-size-adjust: 100%;
}

audio:not([controls]) {
		display: none;
}

details {
		display: block;
}

input[type=number] {
		width: auto;
}
input[type=search] {
		-webkit-appearance: textfield;
		-moz-appearance: none;
		     appearance: none;
}
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
		-webkit-appearance: none;
		appearance: none;
}

main {
		display: block;
}

summary {
		display: block;
}

pre {
		overflow: auto;
}

progress {
		display: inline-block;
}

small {
		font-size: 75%;
}

template {
		display: none;
}

textarea {
		overflow: auto;
}

[hidden] {
		display: none;
}

[unselectable] {
		-webkit-user-select: none;
		   -moz-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
}

/*
 * Universal inheritance
 */
*,
::before,
::after {
		-webkit-box-sizing: inherit;
		        box-sizing: inherit;
}

* {
		font-size: inherit;
		line-height: inherit;
}

::before,
::after {
		text-decoration: inherit;
		vertical-align: inherit;
}

/*
 * Opinionated defaults
 */
*,
::before,
::after {
		border-style: solid;
		border-width: 0;
}

* {
		margin: 0;
		padding: 0;
}

:root {
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		cursor: default;
		font: 62.5%/1em sans-serif;
		text-rendering: optimizeLegibility;
}
@media screen and (min-width: 769px) {
		:root {
				font: 0.78125vw/1em sans-serif;
		}
}
@media screen and (min-width: 1600px) {
		:root {
				font: 78.125%/1em sans-serif;
		}
}

html {
		background-color: #FFFFFF;
}

a {
		text-decoration: none;
}

audio,
canvas,
iframe,
img,
svg,
video {
		vertical-align: middle;
}

button,
input:not([type=radio]),
select,
textarea {
		background-color: transparent;
}

button,
input:not([type=radio]),
select,
textarea {
		color: inherit;
		font-family: inherit;
		font-style: inherit;
		font-weight: inherit;
}

button,
[type=button],
[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=reset],
[type=search],
[type=submit],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
select,
textarea {
		min-height: 1em;
}

code,
kbd,
pre,
samp {
		font-family: monospace, monospace;
}

nav ol,
nav ul {
		list-style: none;
}

select {
		-moz-appearance: none;
		-webkit-appearance: none;
		appearance: none;
		border-radius: 0;
}
select::-ms-expand {
		display: none;
}
select::-ms-value {
		color: currentColor;
}

table {
		border-collapse: collapse;
		border-spacing: 0;
}

textarea {
		resize: vertical;
}

::-moz-selection {
		background-color: #009444;
		text-shadow: none;
}

::selection {
		background-color: #009444;
		text-shadow: none;
}

@media screen {
		[hidden~=screen] {
				display: inherit;
		}

		[hidden~=screen]:not(:active):not(:focus):not(:target) {
				clip: rect(0 0 0 0) !important;
				position: absolute !important;
		}
}
* {
		margin: 0;
		padding: 0;
		outline: 0;
}

/* general params
--------------------*/
h1, h2, h3, h4, h5, h6,
div, p, pre, ul, ol, dl, dt, dd,
address, form, blockquote {
		margin: 0;
		padding: 0;
		/* margin&padding reset */
		font-style: normal;
}

h1, h2, h3, h4, h5, h6, dt, strong {
		font-weight: 300;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
		display: block;
		margin: 0;
}

table {
		border-collapse: collapse;
		font-size: small;
		margin: 0;
		empty-cells: show;
}

hr, .areaAnchor, .anchor {
		display: none;
}

img {
		vertical-align: bottom;
		border: none;
		/* img do not want a border */
}

li {
		list-style: none;
}

blockquote, q {
		quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
		content: "";
		content: none;
}

ins {
		text-decoration: none;
		color: #000;
		background-color: #009444;
}

small, sub, sup {
		font-size: 0.83em;
}

sub {
		display: inline-block;
		vertical-align: middle;
		-webkit-transform: translateY(15%);
		        transform: translateY(15%);
}

sup {
		display: inline-block;
		vertical-align: middle;
		-webkit-transform: translateY(-15%);
		        transform: translateY(-15%);
}

mark {
		font-weight: bold;
		font-style: italic;
		color: #000;
		background-color: #009444;
}

del {
		text-decoration: line-through;
}

abbr[title], dfn[title] {
		cursor: help;
		border-bottom: 1px dotted;
}

table {
		border-spacing: 0;
		border-collapse: collapse;
}

/* acronyms and abbreviations styles
-------------------------------------*/
acronym, abbr {
		cursor: help;
}

/* word break
-------------------------------------*/
p {
		word-break: normal;
}

/* image position
-------------------------------------*/
img {
		vertical-align: bottom;
}

/*
===== 2: form setting ===========================
*/
option {
		padding-right: 10px;
}

input, select {
		vertical-align: middle;
}

/* Font */
/*-------------------------------------------> font */
.f_def, .f_light {
		font-weight: 300;
}

.f_semiBold {
		font-weight: 600;
}

/*-------------------------------------------> html / body style */
html {
		height: 100%;
}

body {
		width: 100%;
		min-width: 100%;
		height: 100%;
		color: #000;
		font-family: "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		font-weight: 300;
		overflow-y: scroll;
		overflow-x: hidden;
		position: relative;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
}
@media screen and (min-width: 768px) {
		body .pc {
				display: block;
		}
		body .sp {
				display: none;
		}
		body img.pc, body .svg.pc {
				display: inline;
		}
		body > * {
				-webkit-font-feature-settings: "palt";
				        font-feature-settings: "palt";
		}
}
@media screen and (max-width: 767px) {
		body {
				height: 100%;
		}
		body .pc {
				display: none;
		}
		body .sp {
				display: block;
		}
		body img.pc {
				display: none;
		}
		body img.sp, body .svg.sp {
				display: inline;
		}
		body img {
				max-width: 100%;
				height: auto;
		}
		body > * {
				-webkit-font-feature-settings: "palt";
				        font-feature-settings: "palt";
		}
}

.hide {
		display: none;
}

/*-------------------------------------------> link style */
a {
		color: inherit;
		outline: none;
		cursor: pointer;
}
a:link {
		text-decoration: none;
}
a:visited {
		text-decoration: none;
}
a:hover {
		text-decoration: none;
}
a:active {
		text-decoration: none;
}

@media screen and (min-width: 768px) {
		.OverOpacity,
.OverOpacityGroup a {
				opacity: 1;
				-webkit-transition: opacity 0.15s ease-out;
				transition: opacity 0.15s ease-out;
		}
		.OverOpacity:hover,
.OverOpacityGroup a:hover {
				opacity: 0.75;
		}
}
/*-------------------------------------------> Common style */
.inner {
		width: 88.8888888889%;
		margin-left: auto;
		margin-right: auto;
}
@media screen and (min-width: 1620px) {
		.inner {
				width: 1440px;
		}
}
@media screen and (max-width: 767px) {
		.inner {
				max-width: initial;
				width: 100%;
				margin-left: 0;
				margin-right: 0;
				padding-left: 6.4vw;
				padding-right: 6.4vw;
		}
}

img {
		max-width: 100%;
		height: auto;
		vertical-align: top;
}

br.pc {
		display: block;
}
br.pc.sp {
		display: block;
}
br.sp {
		display: none;
}
@media screen and (max-width: 767px) {
		br.pc {
				display: none;
		}
		br.sp {
				display: block;
		}
		br.sp.pc {
				display: block;
		}
}

.taLeft {
		text-align: left !important;
}

.taCenter {
		text-align: center !important;
}

.taRight {
		text-align: right !important;
}

/*-------------------------------------------> Header */
@media screen and (min-width: 1280px) {
		#Header {
				-webkit-transition: -webkit-transform 0.3s ease-out;
				transition: -webkit-transform 0.3s ease-out;
				transition: transform 0.3s ease-out;
				transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}

		.Scroll #Header {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}

		.Scroll.ScrollUp #Header {
				-webkit-transform: translateY(100px);
				        transform: translateY(100px);
		}
}
#Header {
		position: fixed;
		position: sticky;
		top: -100px;
		left: 0;
		z-index: 100;
		background: #FFF;
		width: 100%;
		height: 164px;
		height: 150px;
		margin-bottom: 14px;
}
#Header .logoArea {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		padding-top: 22px;
}
#Header .logoArea .josaiLogo {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
}
#Header .logoArea .josaiLogo > a {
		width: 254px;
}
#Header .logoArea .josaiLogo > a img {
		width: 254px;
}
#Header .logoArea .josaiLogo .RI {
		margin-left: 12px;
		padding-left: 12px;
		border-left: solid 1px #9FA0A0;
}
#Header .logoArea .josaiLogo .RI img {
		width: 120px;
}
#Header .logoArea .logo60th {
		width: 132px;
}
@media screen and (max-width: 1279px) {
		#Header {
				top: 0;
				height: 100px;
				background: none;
				margin-bottom: 0;
		}
		#Header .logoArea {
				position: absolute;
				top: 0;
				left: 0;
				z-index: 10;
				padding-top: 0;
				width: 100%;
				padding-left: 5.5555555556%;
				padding-right: 5.5555555556%;
				height: 100px;
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;
				background: rgba(255, 255, 255, 0.95);
		}
		#Header .logoArea .logo60th {
				margin-right: 88px;
		}
}
@media screen and (max-width: 767px) {
		#Header {
				width: 100%;
				height: 16vw;
		}
		#Header .logoArea {
				left: 0;
				height: 16vw;
				width: 100%;
				padding-left: 4.8vw;
				padding-right: 4.8vw;
		}
		#Header .logoArea .josaiLogo > a {
				width: 35.4666666667vw;
		}
		#Header .logoArea .josaiLogo > a img {
				width: 35.4666666667vw;
		}
		#Header .logoArea .josaiLogo .RI {
				margin-left: 1.6vw;
				margin-right: 1.6vw;
				padding-left: 1.6vw;
				text-align: left;
		}
		#Header .logoArea .josaiLogo .RI img {
				width: 16.8vw;
		}
		#Header .logoArea .logo60th {
				width: 17.6vw;
				margin-right: 12vw;
				display: none;
		}
}
@media screen and (max-width: 767px) and (orientation: landscape) {
		#Header {
				height: 60px;
		}
		#Header .logoArea {
				height: 60px;
		}
		#Header .logoArea .josaiLogo > a {
				width: auto;
		}
		#Header .logoArea .josaiLogo > a img {
				width: auto;
				height: 32px;
		}
		#Header .logoArea .josaiLogo .RI img {
				width: auto;
				height: 32px;
		}
		#Header .logoArea .logo60th {
				display: none;
		}
}

@media screen and (max-width: 1279px) {
		#Navi {
				display: block;
				width: 100vw;
				height: 100vh;
				overflow: hidden;
				margin: 0;
				position: fixed;
				top: 0;
				left: 0;
				pointer-events: none;
		}
}
@media screen and (max-width: 1279px) and (max-width: 767px) {
		#Navi {
				height: 100%;
		}
}
@media screen and (max-width: 1279px) {
		#Navi::after {
				content: "";
				display: block;
				width: 100vw;
				height: 100vh;
				background: #FFF;
				position: fixed;
				top: 0;
				left: 0;
				z-index: 910;
				opacity: 0;
				-webkit-transition: opacity 0.15s ease-out;
				transition: opacity 0.15s ease-out;
		}
}

.navi > ul {
		padding: 16px 0 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		font-size: 17px;
		line-height: 1;
		letter-spacing: 0em;
}
.navi > ul > li {
		position: relative;
		z-index: 10;
		padding: 1em 0em;
}
.navi > ul > li:hover .sub {
		opacity: 1;
		pointer-events: auto;
}
.navi > ul > li > a, .navi > ul > li > span {
		position: relative;
		z-index: 10;
		display: inline-block;
		text-indent: 0.1em;
}
.navi > ul > li a.disable {
		pointer-events: none;
		cursor: default;
		opacity: 0.6;
}
@media screen and (min-width: 1280px) {
		.navi > ul > li a {
				-webkit-transition: all 0.3s ease-out;
				transition: all 0.3s ease-out;
		}
}
.navi > ul > li .sub {
		opacity: 0;
		pointer-events: none;
		-webkit-transition: opacity 0.3s ease-out;
		transition: opacity 0.3s ease-out;
		padding-top: 45px;
		position: absolute;
		z-index: 5;
		top: 0;
		left: 0;
		min-width: 100%;
		background: rgba(255, 255, 255, 0.9);
}
.navi > ul > li .sub li a {
		display: block;
		padding: 0.65em 1em;
		white-space: nowrap;
		background: rgba(255, 255, 255, 0);
}
@media screen and (min-width: 1280px) {
		.navi > ul > li .sub li a {
				-webkit-transition: background 0.15s ease-out;
				transition: background 0.15s ease-out;
		}
		.navi > ul > li .sub li a:hover {
				background: rgb(255, 255, 255);
		}
}
.navi > ul > li.hmMember > span, .navi > ul > li.hmMember > a, .navi > ul > li.fmMember > span, .navi > ul > li.fmMember > a {
		display: block;
		position: relative;
		border: solid 1px #000;
		padding: 0.3em 0.5em;
		/*
		&::after {
			content: '';
			display: block;
			width: 100%;
			height: 100%;
			border: solid 1px $BLACK;
			padding: 0.3em 0.5em;
			box-sizing: content-box;
			position: absolute;
			top: -0.3em;
			left: -0.5em;
		}
		*/
}
.navi > ul > li.hmMember .sub, .navi > ul > li.fmMember .sub {
		padding-top: calc(45px + 0.3em);
}
@media screen and (max-width: 1279px) {
		.navi > ul {
				display: block;
				width: 100%;
				max-width: 680px;
				margin-left: auto;
				margin-right: auto;
				text-align: center;
				position: relative;
				z-index: 920;
				font-size: 18px;
				line-height: 1;
				letter-spacing: 0.1em;
				padding-top: 100px;
				padding-bottom: 120px;
				opacity: 0;
				pointer-events: none;
		}
}
@media screen and (max-width: 1279px) and (max-width: 767px) {
		.navi > ul {
				font-size: 18px;
				/* legacy */
				font-size: 4.8vw;
				line-height: 1;
				letter-spacing: 0.1em;
				padding-top: 16vw;
				padding-bottom: 16vw;
		}
}
@media screen and (max-width: 1279px) {
		.navi > ul > li {
				display: block;
				position: relative;
				margin-left: 0;
				margin: 0;
				padding: 0;
		}
		.navi > ul > li:first-child {
				margin-left: 0;
		}
		.navi > ul > li > a, .navi > ul > li > span {
				color: #000;
				display: block;
				padding-top: 40px;
				padding-bottom: 20px;
				pointer-events: none;
		}
}
@media screen and (max-width: 1279px) and (max-width: 767px) {
		.navi > ul > li > a, .navi > ul > li > span {
				padding-top: 7.4666666667vw;
				padding-bottom: 4.8vw;
		}
}
@media screen and (max-width: 1279px) {
		.navi > ul > li .sub {
				display: none;
				opacity: 1;
				width: 100%;
				pointer-events: none;
				-webkit-transition: all 0.3s ease-out;
				transition: all 0.3s ease-out;
				position: relative;
				left: auto;
				bottom: auto;
				top: auto;
				padding-top: 0;
				font-size: 14px;
				line-height: 1;
				letter-spacing: 0.1em;
				text-align: center;
		}
}
@media screen and (max-width: 1279px) and (max-width: 767px) {
		.navi > ul > li .sub {
				font-size: 15px;
				/* legacy */
				font-size: 4vw;
				line-height: 1;
				letter-spacing: 0.1em;
		}
}
@media screen and (max-width: 1279px) {
		.navi > ul > li .sub li {
				margin-left: 0;
		}
		.navi > ul > li .sub li:first-child {
				margin-left: 0;
		}
		.navi > ul > li .sub li a {
				padding-top: 20px;
				padding-bottom: 20px;
		}
}
@media screen and (max-width: 1279px) and (max-width: 767px) {
		.navi > ul > li .sub li a {
				padding-top: 4.8vw;
				padding-bottom: 4.8vw;
		}
}
@media screen and (max-width: 1279px) {
		.navi > ul > li.hmMember {
				width: 100%;
				margin-left: 0;
				margin-right: 0;
				padding-left: 4.8vw;
				padding-right: 4.8vw;
		}
		.navi > ul > li.hmMember > span, .navi > ul > li.hmMember > a {
				display: inline-block;
				position: relative;
				padding: 0 1em;
				margin-top: 40px;
				margin-bottom: 20px;
				border: none;
		}
}
@media screen and (max-width: 1279px) and (max-width: 767px) {
		.navi > ul > li.hmMember > span, .navi > ul > li.hmMember > a {
				margin-top: 7.4666666667vw;
				margin-bottom: 4.8vw;
		}
}
@media screen and (max-width: 1279px) {
		.navi > ul > li.hmMember > span::after, .navi > ul > li.hmMember > a::after {
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				border: solid 1px #000;
				padding: 0.3em 0.5em;
				-webkit-box-sizing: content-box;
				        box-sizing: content-box;
				position: absolute;
				top: -0.3em;
				left: -0.5em;
		}
}
@media screen and (max-width: 1279px) {
		.navi > ul > li.hmMember .sub {
				padding-top: 0;
		}
}
@media screen and (max-width: 1279px) {
		.navi > ul > li.now .sub {
				display: block;
		}
}
@media screen and (max-width: 1279px) {
		.deviceSP #Navi {
				height: 100%;
		}
}
@media screen and (min-width: 1280px) {
		#MenuBtn {
				display: none;
		}
}
@media screen and (max-width: 1279px) {
		#MenuBtn {
				display: block;
				position: absolute;
				top: 50%;
				-webkit-transform: translateY(-50%);
				        transform: translateY(-50%);
				right: 5.5555555556%;
				z-index: 999;
				width: 58px;
				height: 58px;
		}
}
@media screen and (max-width: 1279px) and (max-width: 767px) {
		#MenuBtn {
				right: 4.8vw;
				z-index: 999;
				width: 29px;
				height: 29px;
		}
}
@media screen and (max-width: 1279px) {
		#MenuBtn button {
				cursor: pointer;
				pointer-events: auto;
				display: block;
				width: 58px;
				height: 58px;
				width: 29px;
				height: 29px;
		}
}
@media screen and (max-width: 1279px) and (max-width: 767px) {
		#MenuBtn button {
				width: 29px;
				height: 29px;
		}
}
@media screen and (max-width: 1279px) {
		#MenuBtn button .icon {
				position: relative;
				width: 40px;
				height: 58px;
				margin-left: auto;
				margin-right: auto;
		}
}
@media screen and (max-width: 1279px) and (max-width: 767px) {
		#MenuBtn button .icon {
				width: 19px;
				height: 29px;
		}
}
@media screen and (max-width: 1279px) {
		#MenuBtn button .icon span {
				position: absolute;
				display: block;
				background: #000;
				width: 100%;
				height: 2px;
				overflow: hidden;
				border-radius: 1px;
				-webkit-transition: all 0.15s ease-out;
				transition: all 0.15s ease-out;
				top: 50%;
				left: 50%;
		}
		#MenuBtn button .icon span:nth-of-type(1) {
				-webkit-transform: translate3d(-50%, -12px, 0);
				        transform: translate3d(-50%, -12px, 0);
		}
		#MenuBtn button .icon span:nth-of-type(2) {
				-webkit-transform: translate3d(-50%, -4px, 0);
				        transform: translate3d(-50%, -4px, 0);
		}
		#MenuBtn button .icon span:nth-of-type(3) {
				-webkit-transform: translate3d(-50%, 4px, 0);
				        transform: translate3d(-50%, 4px, 0);
		}
		#MenuBtn button .icon span:nth-of-type(4) {
				-webkit-transform: translate3d(-50%, 12px, 0);
				        transform: translate3d(-50%, 12px, 0);
		}
}
@media screen and (max-width: 1279px) and (max-width: 767px) {
		#MenuBtn button .icon span {
				height: 1px;
		}
		#MenuBtn button .icon span:nth-of-type(1) {
				-webkit-transform: translate3d(-50%, -6px, 0);
				        transform: translate3d(-50%, -6px, 0);
		}
		#MenuBtn button .icon span:nth-of-type(2) {
				-webkit-transform: translate3d(-50%, -2px, 0);
				        transform: translate3d(-50%, -2px, 0);
		}
		#MenuBtn button .icon span:nth-of-type(3) {
				-webkit-transform: translate3d(-50%, 2px, 0);
				        transform: translate3d(-50%, 2px, 0);
		}
		#MenuBtn button .icon span:nth-of-type(4) {
				-webkit-transform: translate3d(-50%, 6px, 0);
				        transform: translate3d(-50%, 6px, 0);
		}
}

.MClose #Navi::after {
		-webkit-transition-delay: 0.15s;
		        transition-delay: 0.15s;
}
.MClose #Navi > ul {
		-webkit-transition-delay: 0s;
		        transition-delay: 0s;
}

/* MenuOpen */
.MOpen #Navi {
		pointer-events: auto;
		overflow-y: scroll;
		overflow-x: hidden;
}
.MOpen #Navi::after {
		opacity: 1;
}
.MOpen #Navi > ul {
		opacity: 1;
		-webkit-transition: opacity 0.15s ease-out;
		transition: opacity 0.15s ease-out;
		-webkit-transition-delay: 0.15s;
		        transition-delay: 0.15s;
}
.MOpen #Navi > ul > li.now .sub {
		display: block;
}
.MOpen #Navi > ul > li .sub {
		display: none;
}
.MOpen #Navi > ul a, .MOpen #Navi > ul span {
		pointer-events: auto;
		cursor: pointer;
}
.MOpen #MenuBtn button .icon span:nth-of-type(1) {
		-webkit-transform: translate3d(-50%, 0, 0) rotate(45deg);
		        transform: translate3d(-50%, 0, 0) rotate(45deg);
}
.MOpen #MenuBtn button .icon span:nth-of-type(2) {
		opacity: 0;
}
.MOpen #MenuBtn button .icon span:nth-of-type(3) {
		opacity: 0;
}
.MOpen #MenuBtn button .icon span:nth-of-type(4) {
		-webkit-transform: translate3d(-50%, 0, 0) rotate(-45deg);
		        transform: translate3d(-50%, 0, 0) rotate(-45deg);
}

/*-------------------------------------------> Footer - gotoTop */
#gotoTop {
		width: 92px;
		height: 106px;
		position: absolute;
		top: 180px;
		left: calc(50% - 46px);
}
#gotoTop a {
		cursor: pointer;
		display: block;
		width: 92px;
		height: 106px;
		text-align: left;
		text-indent: -9999px;
		background: url(../images/svg/logo_josai.svg?v=2) no-repeat left top/contain;
}
@media screen and (max-width: 767px) {
		#gotoTop {
				width: 16.5333333333vw;
				height: 19.2vw;
				top: 17.3333333333vw;
				left: calc(50% - 8.2666666667vw);
		}
		#gotoTop a {
				width: 16.5333333333vw;
				height: 19.2vw;
		}
}

/*-------------------------------------------> Footer */
#Footer .inner {
		position: relative;
		padding-top: 375px;
		padding-bottom: 90px;
		/*
		&::before {
			content: '';
			display: block;
			width: 88px;
			height: 106px;
			position: absolute;
			top: 180px;
			left: calc(50% - 44px);
			background: url(../images/svg/logo_josai.svg?v=2) no-repeat left top / contain;
		}
		*/
}
#Footer .navi {
		min-height: 390px;
}
#Footer .navi > ul > li {
		position: relative;
		z-index: 10;
}
#Footer .navi > ul > li a, #Footer .navi > ul > li span {
		position: relative;
		z-index: 10;
}
#Footer .navi > ul > li .sub {
		pointer-events: auto;
		opacity: 1;
		padding-top: 46px;
		position: absolute;
		z-index: 5;
		top: 0;
		left: 0;
		margin-left: 1em;
}
#Footer .navi > ul > li .sub li a {
		display: block;
		padding: 0.65em 0em;
		white-space: nowrap;
}
#Footer .info {
		position: relative;
		text-align: center;
		font-size: 16px;
		line-height: 2.25;
		letter-spacing: 0em;
		width: clamp(756px, 90.2777777778%, 1300px);
		margin-left: auto;
		margin-right: auto;
		/*
		.facebook {
			position: absolute;
			top: calc(50% - 17px);
			right: 0;
			a {
				display: block;
				img {
					width: 34px;
					height: 34px;
				}
			}
		}
		*/
}
#Footer .info dl {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
}
#Footer .info dl dt {
		width: 100%;
}
#Footer .info dl dd {
		margin-left: 1em;
		margin-right: 1em;
		letter-spacing: 0.08em;
}
#Footer .info .facebook {
		margin-top: 68px;
		margin-bottom: 68px;
}
#Footer .info .facebook a {
		display: block;
}
#Footer .info .facebook a img {
		width: 34px;
		height: 34px;
}
#Footer .copyright {
		text-align: center;
		font-size: 12px;
		line-height: 1;
		letter-spacing: 0.1em;
}
@media screen and (max-width: 1279px) {
		#Footer .navi {
				display: none;
		}
}
@media screen and (max-width: 767px) {
		#Footer .inner {
				padding-top: 45.3333333333vw;
				padding-bottom: 11.54vw;
		}
		#Footer .info {
				font-size: 15px;
				/* legacy */
				font-size: 4vw;
				line-height: 2;
				letter-spacing: 0em;
				width: 100vw;
				margin-left: -6.4vw;
		}
		#Footer .info dl dt, #Footer .info dl dd {
				padding: 0;
				letter-spacing: 0;
		}
		#Footer .info dl dt .linkTel, #Footer .info dl dd .linkTel {
				margin-right: -1em;
		}
		#Footer .info .facebook {
				margin-top: 11.54vw;
				position: relative;
				top: auto;
				right: auto;
		}
		#Footer .info .facebook a {
				display: block;
		}
		#Footer .info .facebook a img {
				width: 8.5333333333vw;
				height: 8.5333333333vw;
		}
		#Footer .copyright {
				margin-top: 11.54vw;
				font-size: 10px;
				/* legacy */
				font-size: 2.6666666667vw;
				line-height: 1.5;
				letter-spacing: 0.1em;
				width: 100vw;
				margin-left: -6.4vw;
		}
}

#Loading {
		display: none;
}

/*------------------------------------------->
#Loading {
	display: block;
	position: fixed;
	justify-content: center;
	align-items: center;
	z-index: 9998;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	background: $WHITE;
	@include fs(10,10,0);
	.Loading-wrap {
		width: 100%;
		height: 100%;
		// background: url(../images/loading.gif) no-repeat center center;
		background-size: 25px 25px;
		text-indent: -9999px;
		.loader {
		}
	}
}
Loading */
/*-------------------------------------------> plugin style */
/* Slick */
.slick-slider {
		position: relative;
		display: block;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		-ms-touch-action: pan-y;
		touch-action: pan-y;
		-webkit-tap-highlight-color: transparent;
}

.slick-list {
		position: relative;
		overflow: hidden;
		display: block;
		margin: 0;
		padding: 0;
}
.slick-list:focus {
		outline: none;
}
.slick-list.dragging {
		cursor: pointer;
		cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
}

.slick-track {
		position: relative;
		left: 0;
		top: 0;
		display: block;
		margin-left: auto;
		margin-right: auto;
}
.slick-track:before, .slick-track:after {
		content: "";
		display: table;
}
.slick-track:after {
		clear: both;
}
.slick-loading .slick-track {
		visibility: hidden;
}

.slick-slide {
		float: left;
		min-height: 1px;
		display: none;
}
[dir=rtl] .slick-slide {
		float: right;
}
.slick-slide img {
		display: block;
}
.slick-slide.slick-loading img {
		display: none;
}
.slick-slide.dragging img {
		pointer-events: none;
}
.slick-initialized .slick-slide {
		display: block;
}
.slick-loading .slick-slide {
		visibility: hidden;
}
.slick-vertical .slick-slide {
		display: block;
		height: auto;
		border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
		display: none;
}

/* Dots */
.slick-dotted.slick-slider {
		margin-bottom: 30px;
}

.slick-dots {
		position: absolute;
		bottom: -30px;
		list-style: none;
		display: block;
		text-align: center;
		padding: 0;
		margin: 0;
		width: 100%;
}
.slick-dots li {
		position: relative;
		display: inline-block;
		height: 12px;
		width: 12px;
		margin: 0 12px;
		padding: 0;
		cursor: pointer;
}
.slick-dots li button {
		border: 0;
		background: transparent;
		display: block;
		height: 12px;
		width: 12px;
		outline: none;
		line-height: 0px;
		font-size: 0px;
		color: transparent;
		padding: 5px;
		cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
		outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
		opacity: 1;
}
.slick-dots li button:before {
		position: absolute;
		top: 0;
		left: 0;
		content: "•";
		text-indent: -9999px;
		width: 12px;
		height: 12px;
		border-radius: 6px;
		background-color: #000;
		font-family: "slick";
		font-size: 6px;
		line-height: 20px;
		text-align: center;
		color: #000;
		opacity: 0.25;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
		color: #000;
		opacity: 0.75;
}

@media screen and (max-width: 767px) {
		.slick-dotted.slick-slider {
				margin-bottom: 80px;
		}

		.slick-dots {
				bottom: -80px;
		}
		.slick-dots li {
				height: 25px;
				width: 25px;
				margin: 0 25px;
		}
		.slick-dots li button {
				height: 25px;
				width: 25px;
				padding: 0px;
		}
		.slick-dots li button:before {
				width: 25px;
				height: 25px;
				border-radius: 12px;
				line-height: 25px;
		}
}
.clearfix:after {
		content: "";
		display: block;
		clear: both;
}

/*-------------------------------------------> layout */
.mod_table {
		display: table;
}
.mod_table dl {
		display: table-row;
}
.mod_table dl dt, .mod_table dl dd {
		display: table-cell;
}

/*-------------------------------------------> button */
.mod_linkBlock {
		width: 346px;
		margin-left: auto;
		margin-right: auto;
		font-size: 20px;
		line-height: 2.4;
		letter-spacing: 0.2em;
		text-align: center;
}
.mod_linkBlock a {
		position: relative;
		display: block;
		width: 100%;
		height: 48px;
		border: solid 1px #000;
		background: #FFF;
}
.mod_linkBlock a span {
		display: inline-block;
		text-indent: 0.2em;
		-webkit-transform: translateY(-2px);
		        transform: translateY(-2px);
}
@media screen and (max-width: 767px) {
		.mod_linkBlock a span {
				-webkit-transform: translateY(-0.2666666667vw);
				        transform: translateY(-0.2666666667vw);
		}
}
.mod_linkBlock a:hover::before {
		-webkit-transform: translateX(5px);
		        transform: translateX(5px);
}
.mod_linkBlock a::before {
		content: "";
		display: block;
		width: 8px;
		height: 16px;
		background: url(../images/svg/arrow_link.svg) no-repeat left top/contain;
		position: absolute;
		top: calc(50% - 8px);
		left: 20px;
		-webkit-transform: translateX(0);
		        transform: translateX(0);
		-webkit-transition: -webkit-transform 0.3s ease-out;
		transition: -webkit-transform 0.3s ease-out;
		transition: transform 0.3s ease-out;
		transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
@media screen and (max-width: 767px) {
		.mod_linkBlock {
				font-size: 15px;
				line-height: 1;
				letter-spacing: 0.05em;
		}
		.mod_linkBlock a {
				height: 6.6666666667vw;
		}
		.mod_linkBlock a span {
				text-indent: 0.05em;
				height: 6.4vw;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: center;
				    -ms-flex-pack: center;
				        justify-content: center;
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;
		}
}

/*-------------------------------------------> blog */
.mod_recentlyBlog {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
}
.mod_recentlyBlog .block {
		width: calc((100% - 23.0769230769%) / 3);
		margin-left: 11.5384615385%;
		margin-bottom: 85px;
}
@media screen and (min-width: 768px) {
		.mod_recentlyBlog .block:nth-child(3n-2) {
				margin-left: 0;
		}
}
.mod_recentlyBlog .block a {
		display: block;
}
.mod_recentlyBlog .block a .image img {
		-webkit-transform: scale(1);
		        transform: scale(1);
		-webkit-transition: -webkit-transform 0.3s ease-out;
		transition: -webkit-transform 0.3s ease-out;
		transition: transform 0.3s ease-out;
		transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.mod_recentlyBlog .block a:hover .image img {
		-webkit-transform: scale(1.05);
		        transform: scale(1.05);
}
.mod_recentlyBlog .block .image {
		position: relative;
		overflow: hidden;
		width: 100%;
		height: 0;
		padding-top: 100%;
}
.mod_recentlyBlog .block .image span {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
}
.mod_recentlyBlog .block .image img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
}
.mod_recentlyBlog .block dl {
		font-size: 16px;
		line-height: 1.5;
		letter-spacing: 0em;
		margin-top: 2em;
}
.mod_recentlyBlog .block dl dt {
		text-align: center;
}
.mod_recentlyBlog .block dl dd {
		margin-top: 0.5em;
		text-align: center;
}

/*-------------------------------------------> mod_blogCode */
.mod_blogCode {
		font-size: 16px;
		line-height: 1.625;
		letter-spacing: 0em;
}
.mod_blogCode p, .mod_blogCode ul, .mod_blogCode ol, .mod_blogCode table {
		margin-bottom: 1.5em;
}
.mod_blogCode ul, .mod_blogCode ol {
		margin-left: 1.5em;
}
.mod_blogCode h1, .mod_blogCode h2, .mod_blogCode h3, .mod_blogCode h4, .mod_blogCode h5, .mod_blogCode h6 {
		margin-top: 1.2em;
		margin-bottom: 0.5em;
		line-height: 1.4;
		font-weight: bold;
}
.mod_blogCode h1, .mod_blogCode h2 {
		font-size: 40px;
}
.mod_blogCode h3 {
		font-size: 35px;
}
.mod_blogCode h4 {
		font-size: 30px;
}
.mod_blogCode h5 {
		font-size: 25px;
}
.mod_blogCode h6 {
		font-size: 20px;
}
.mod_blogCode ul {
		list-style: disc;
}
.mod_blogCode ol {
		list-style: decimal;
}
.mod_blogCode li {
		list-style-position: outside;
}
.mod_blogCode a {
		text-decoration: underline;
		color: inherit;
}
.mod_blogCode a:hover {
		background: inherit;
}
.mod_blogCode strong, .mod_blogCode b {
		font-weight: 500;
}
.mod_blogCode img {
		max-width: 100%;
		height: auto;
}
@media screen and (max-width: 767px) {
		.mod_blogCode {
				font-size: 32px;
				/* legacy */
				font-size: 8.5333333333vw;
				line-height: 1.625;
				letter-spacing: 0em;
		}
		.mod_blogCode h1, .mod_blogCode h2, .mod_blogCode h3, .mod_blogCode h4, .mod_blogCode h5, .mod_blogCode h6 {
				line-height: 1.5;
		}
		.mod_blogCode h1, .mod_blogCode h2 {
				font-size: 10.6666666667vw;
		}
		.mod_blogCode h3 {
				font-size: 9.3333333333vw;
		}
		.mod_blogCode h4 {
				font-size: 8vw;
		}
		.mod_blogCode h5 {
				font-size: 6.6666666667vw;
		}
		.mod_blogCode h6 {
				font-size: 5.3333333333vw;
		}
}

@media screen and (min-width: 768px) {
		.mod_pageTitle {
				padding: 76px 0 75px;
		}
		.mod_pageTitle .pageTitle {
				font-size: 32px;
				letter-spacing: 0.05em;
				text-align: center;
				line-height: 2;
		}

		.mode_tableColumen {
				width: 76.9053117783%;
				margin-left: auto;
				margin-right: auto;
		}
		.mode_tableColumen dl.cellTheme dt, .mode_tableColumen dl.cellTheme dd {
				padding-top: 0;
				padding-bottom: 2em;
		}
		.mode_tableColumen dl.cellTheme dd {
				font-size: 20px;
				line-height: 1.75;
				letter-spacing: 0.1em;
				text-align: center;
		}
		.mode_tableColumen dl.cellTheme + dl dt, .mode_tableColumen dl.cellTheme + dl dd {
				padding-top: 0;
		}
		.mode_tableColumen dl dt {
				width: 4.4em;
				white-space: nowrap;
				text-align: justify;
				-moz-text-align-last: justify;
				     text-align-last: justify;
				text-justify: inter-ideograph;
		}
		.mode_tableColumen dl dd {
				padding-left: 62px;
				text-align: left;
		}
		.mode_tableColumen dl dt, .mode_tableColumen dl dd {
				padding-top: 0.8em;
				font-size: 16px;
				line-height: 1.75;
				letter-spacing: 0.05em;
		}

		.subNavi {
				visibility: hidden;
				width: 346px;
				margin: 77px auto 0;
		}
		.subNavi label {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: center;
				    -ms-flex-pack: center;
				        justify-content: center;
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;
				width: 100%;
				height: 48px;
				border: solid 1px #000;
				background: #FFF;
				position: relative;
		}
		.subNavi label::before {
				content: "";
				display: block;
				width: 8px;
				height: 16px;
				background: url(../images/svg/arrow_link.svg) no-repeat left top/contain;
				position: absolute;
				top: calc(50% - 8px);
				left: 20px;
				-webkit-transform: translateX(0);
				        transform: translateX(0);
				-webkit-transition: -webkit-transform 0.3s ease-out;
				transition: -webkit-transform 0.3s ease-out;
				transition: transform 0.3s ease-out;
				transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
		}
		.subNavi label select {
				/*
				height: 100%;
				*/
				width: 100%;
				-webkit-appearance: none;
				   -moz-appearance: none;
				        appearance: none;
				outline: none;
				border: none;
				padding: 0 40px 0 40px;
				padding: 0;
				background: transparent;
				font-size: 20px;
				color: #000;
				letter-spacing: 0.2em;
				cursor: pointer;
				position: relative;
				line-height: 1;
				text-align: center;
				z-index: 3;
		}
		.subNavi label select::-ms-expand {
				display: none;
		}
		.subNavi label select option {
				line-height: 48px;
				padding: 0;
				margin: 0;
		}

		.load .subNavi {
				visibility: visible;
		}

		.safari .subNavi label select {
				width: auto;
		}
}
@media screen and (max-width: 767px) {
		.mod_pageTitle .inner {
				padding: 0;
		}
		.mod_pageTitle .titleWrap {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: center;
				    -ms-flex-pack: center;
				        justify-content: center;
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;
				height: 28.8vw;
		}
		.mod_pageTitle .pageTitle {
				font-size: 23px;
				/* legacy */
				font-size: 6.1333333333vw;
				line-height: 1.5;
				letter-spacing: 0.1em;
				text-align: center;
		}

		.mod_recentlyBlog {
				width: 100%;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-ms-flex-wrap: wrap;
				    flex-wrap: wrap;
		}
		.mod_recentlyBlog .block {
				width: 100%;
				margin: 0;
		}
		.mod_recentlyBlog .block + .block {
				margin-top: 11.54vw;
		}
		.mod_recentlyBlog .block a {
				display: block;
		}
		.mod_recentlyBlog .block a .image img {
				-webkit-transform: scale(1);
				        transform: scale(1);
				-webkit-transition: -webkit-transform 0.3s ease-out;
				transition: -webkit-transform 0.3s ease-out;
				transition: transform 0.3s ease-out;
				transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
		}
		.mod_recentlyBlog .block a:hover .image img {
				-webkit-transform: scale(1.05);
				        transform: scale(1.05);
		}
		.mod_recentlyBlog .block .image {
				position: relative;
				overflow: hidden;
				width: 100%;
				height: 0;
				padding-top: 100%;
		}
		.mod_recentlyBlog .block .image span {
				position: absolute;
				top: 0;
				left: 0;
				display: block;
				width: 100%;
				height: 100%;
		}
		.mod_recentlyBlog .block .image img {
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
		}
		.mod_recentlyBlog .block dl {
				font-size: 4vw;
				margin-top: 5.77vw;
		}
		.mod_recentlyBlog .block dl dt {
				text-align: center;
		}
		.mod_recentlyBlog .block dl dd {
				margin-top: 0;
				text-align: center;
		}

		.mode_tableColumen dl.cellTheme dt, .mode_tableColumen dl.cellTheme dd {
				padding-top: 0;
				padding-bottom: 2em;
		}
		.mode_tableColumen dl.cellTheme dd {
				font-size: 18px;
				/* legacy */
				font-size: 4.8vw;
				line-height: 1.75;
				letter-spacing: 0.1em;
				text-align: center;
		}
		.mode_tableColumen dl.cellTheme + dl dt, .mode_tableColumen dl.cellTheme + dl dd {
				padding-top: 0;
		}
		.mode_tableColumen dl dt {
				width: 4.4em;
				white-space: nowrap;
				text-align: justify;
				-moz-text-align-last: justify;
				     text-align-last: justify;
				text-justify: inter-ideograph;
		}
		.mode_tableColumen dl dd {
				padding-left: 5.3333333333vw;
				text-align: left;
		}
		.mode_tableColumen dl dt, .mode_tableColumen dl dd {
				padding-top: 0.8em;
				font-size: 15px;
				/* legacy */
				font-size: 4vw;
				line-height: 2.31;
				letter-spacing: 0.15em;
		}

		.mod_linkBlock {
				width: 100%;
				margin-left: auto;
				margin-right: auto;
				font-size: 4vw;
				letter-spacing: 0.2em;
				text-align: center;
		}
		.mod_linkBlock a {
				position: relative;
				display: block;
				width: 100%;
				width: 58.1333333333vw;
				height: 6.6666666667vw;
				line-height: 6.6666666667vw;
				border: solid 1px #000;
				background: #FFF;
				margin-left: auto;
				margin-right: auto;
		}
		.mod_linkBlock a span {
				text-indent: 0.2em;
		}
		.mod_linkBlock a:hover::before {
				-webkit-transform: translateX(1.3333333333vw);
				        transform: translateX(1.3333333333vw);
		}
		.mod_linkBlock a::before {
				content: "";
				display: block;
				width: 2.1333333333vw;
				height: 4.2666666667vw;
				width: 1.3333333333vw;
				height: 2.6666666667vw;
				background: url(../images/svg/arrow_link.svg) no-repeat left top/contain;
				position: absolute;
				top: calc(50% - 1.3333333333vw);
				left: 2.6666666667vw;
				-webkit-transform: translateX(0);
				        transform: translateX(0);
				-webkit-transition: -webkit-transform 0.3s ease-out;
				transition: -webkit-transform 0.3s ease-out;
				transition: transform 0.3s ease-out;
				transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
		}

		.subNavi {
				visibility: hidden;
				width: 100%;
				width: 58.1333333333vw;
				margin-left: auto;
				margin-right: auto;
				text-align: center;
				padding-left: 0;
				padding-right: 0;
		}
		.subNavi label {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: center;
				    -ms-flex-pack: center;
				        justify-content: center;
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;
				width: 100%;
				height: 6.6666666667vw;
				border: solid 0.2666666667vw #000;
				background: #FFF;
				position: relative;
				text-align: center;
		}
		.subNavi label::before {
				content: "";
				display: block;
				width: 1.3333333333vw;
				height: 2.6666666667vw;
				background: url(../images/svg/arrow_link.svg) no-repeat left top/contain;
				position: absolute;
				top: 50%;
				left: 2.6666666667vw;
				margin-top: -1.3333333333vw;
				-webkit-transform: translateX(0);
				        transform: translateX(0);
				-webkit-transition: -webkit-transform 0.3s ease-out;
				transition: -webkit-transform 0.3s ease-out;
				transition: transform 0.3s ease-out;
				transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
		}
		.subNavi label select {
				/*
				height: 100%;
				*/
				width: 100%;
				-webkit-appearance: none;
				   -moz-appearance: none;
				        appearance: none;
				outline: none;
				border: none;
				padding: 0 5.3333333333vw 0 5.3333333333vw;
				padding: 0;
				background: transparent;
				font-size: 4vw;
				color: #000;
				letter-spacing: 0.2em;
				cursor: pointer;
				position: relative;
				line-height: 1;
				text-align: center;
				z-index: 3;
		}
		.subNavi label select::-ms-expand {
				display: none;
		}

		.load .subNavi {
				visibility: visible;
		}

		.safari .subNavi label select {
				width: auto;
		}
}