
html {
	font-size: 62.5%;
}
body, h1, h2, h3, h4, p, ul[class], ol[class], figure, blockquote, dl, dd {
    margin: 0;
}
*, *::before, *::after {
	box-sizing: border-box;
}
body {
	overflow-y: scroll;
	font-weight: 400;
	font-family: 'Lato', sans-serif;
	width: 100%;
	color: rgba(92, 92, 92, 1);
	font-size: 1.6em;
	line-height: 1.7;
}

h1,
h2, 
h3 {
	font-family: 'Libre Baskerville', serif;
	font-weight: 400;
	line-height: 1.3;
}

/* 
header.
 */
header ul {
	margin: 0;
	padding-left: 0;
	list-style-type: none;

}

@media (max-width:991px) {
	header {
		
		padding: 10px 0;

	}

	header a {
		color: #fff;
		text-decoration: none;
	}

	header span {
		color: #fff;
	}

	header ul {
		margin: 0;
		padding-left: 0;
		list-style-type: none;

	}

	.dflex4sp {
		position: relative;
		display: flex;
		margin: 0 auto;
		width: 90%;
		justify-content: space-between;
		z-index: 400;
		align-items: center;
	}

	.headernavi {
		position: fixed;
		top: 0;
		right: -75%;
		box-sizing: border-box;
		height: 100%;
		overflow: auto;
		width: 75%;
		-webkit-overflow-scrolling: touch;
		z-index: 500;
		transition: right .2s;
		background: rgba(154, 142, 164, .9);
	}

	input[id=navi]:checked+.headernavi {
		right: 0;
		transition: right .3s;
	}

	.headernavi nav {
		padding: 5%;

	}

	.headernavi nav label.batsu {
		margin: 0 0 0 auto;
	}

	header h1 img {
		width: 50%;
	}

	.headernavi nav>div>ul {
		padding: 1em 0;
	}

	.headernavi nav>div>ul ul {
		padding-left: 1em;
	}

	.headernavi nav a,
	.headernavi nav span {
		display: block;
		padding: .5em;
	}

	.headernavi nav .sns ul {
		display: flex;
	}

	.headernavi nav .sns ul li a {
		display: block;
		padding: .5em;
	}

	.followus {
		padding: .5em;
		color: #fff;
	}
}

@media (min-width:992px) {
	header {
		
		position: fixed;
		z-index: 200;
		width: 100%;

	}

	header>div {

		display: flex;
		justify-content: space-between;
		align-items: center;
		max-width: 1680px;
		width: 90%;
		margin: 0 auto;
		padding: 2em 0;
	}

	header ul {
		margin: 0;
		padding-left: 0;
		list-style-type: none;
	}

	header nav {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	header .main>ul {
		display: flex;

	}

	header .main>ul>li {
		padding-left: 2em;
	}

	header .main>ul>li:first-child {
		padding-left: 0;

	}

	header .main a {
		display: block;
		margin: 0 1em;
		color: #5c5c5c;
		text-decoration: none;
	}

	header .main span {
		display: flex;
		margin: 0 1em;
		align-items: center;
	}

	header .arrowRight {
		display: block;
		width: .5em;
		height: .5em;
		border-top: solid 1px #545454;
		border-right: solid 1px #545454;
		transform: rotate(45deg);
		margin-right: .5em;
		transition: transform .5s;
	}

	header .main>ul>li:hover .arrowRight {
		transform: rotate(135deg);
		transition: transform .5s;
	}

	header .main>ul>li>a {
		position: relative;
		display: inline-block;
		text-decoration: none;
	}

	header .main>ul>li>a::after {
		position: absolute;
		bottom: 0px;
		left: 0;
		content: '';
		width: 100%;
		height: 1px;
		background: rgba(154, 142, 164, 1);
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform .3s;
	}

	header .main>ul>li>a:hover::after {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	header .main>ul>li:last-child a {
		margin-right: 0;
	}

	header .main>ul>li>ul {
		position: absolute;

	}

	header .main li li {
		display: flex;
		align-items: center;
		overflow: hidden;
		height: 0;
		background: rgba(255, 255, 255, .8);
		transition: height .3s, background .5s;
	}


	header .main>ul>li:hover ul {
		padding: 10px 0;
	}

	header .main>ul>li:hover ul li {
		overflow: visible;
		height: 2.5em;
		transition: height .5s;
	}

	header .main>ul>li>ul>li:hover {
		background: rgba(154, 142, 164, 1);
		transition: background 1s;
	}

	header .main>ul>li>ul>li:hover a {
		color: #fff;
		transition: color 1s;
	}



	header .follow {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		line-height: 1;
		overflow: hidden;
	}

	header .followus {
		padding-right: .5em;
	}

	header .sns ul {
		display: flex;
	}

	header .sns li {
		padding-left: .5em;
	}

	header .sns a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 1.5em;
		height: 1.5em;
		border-radius: 50%;
		background: rgba(154, 142, 164, 1);
		color: #fff;
		text-decoration: none;
		transition: background 1s, color 1s;
	}

	header .sns a:hover {
		background: rgba(255, 255, 255, 1);
		color: rgba(154, 142, 164, 1);
		transition: background .5s, color .5s;
	}

	.hFull header .follow {
		height: 1.5em;
		transition: height 1s;
	}

	.hShort header .follow {
		height: 0;
		transition: height 1s;
	}

	.hFull header nav {
		height: 84px;
		transition: height 1s;
	}

	.hShort header nav {
		height: 27px;
		transition: height 1s;
	}

	.hFull h1 img {
		height: 84px;
		transition: height 1s;
	}

	.hShort h1 img {
		height: 42px;
		transition: height 1s;
	}

	.hFull header>div {
		padding: 2em 0;
		transition: padding 1s;
	}

	.hShort header>div {
		padding: .5em 0;
		transition: padding 1s;
	}

	.hFull header {
		background: rgba(255, 255, 255, 1);
		transition: background 1s;
	}

	.hShort header {
		background: rgba(255, 255, 255, .9);
		transition: background 1s;
	}

	.body {
		position: relative;
		z-index: 100;
	}

	.hFull header+.body {
		top: 148px;
	}

	.hShort header+.body {
		top: 58px;
	}
}

input[id="navi"] {
	display: none;
}
/* 
.header
 */
/* .burger. */
.burger {
	
	display: block;
	padding:5px 0;
	width:30px;	
	box-sizing: border-box;
	z-index: 600;
	cursor: pointer;
}
.burger::before, .burger::after {
	content: "";
	display: block;
	margin: 0 auto;
	width:100%;
	height: 12px;
	border-top:solid 1px #000;
	border-bottom:solid 1px #000;
}
.burger::after {
	border-top: 0;
}
@media (min-width:992px) {
	.burger {
		display: none;
	}
}
/* .burger */

/* close btn. */
.batsu {
	display: block;
	width: 30px;/*枠の大きさ*/
	height: 30px;/*枠の大きさ*/
	/* background: #CCC; */
	position: relative;
	cursor: pointer;
}

.batsu::before, .batsu::after{
	content: "";
	display: block;
	width: 100%;/*バツ線の長さ*/
	height: 1px;/*バツ線の太さ*/
	background: #fff;
	transform: rotate(45deg);
	transform-origin:0% 50%;
	position: absolute;
	top: calc(14%);
	left: 14%;
}

.batsu::after{
	transform: rotate(-45deg);
	transform-origin:100% 50%;
	left: auto;
	right: 14%;
}
/* .close btn */

@media (min-width:992px) {
	.batsu {
		display: none;
	}
}

footer {
	z-index: 200;
	width:100%;
	background: rgba(174,174,181,1);
	color: #fff;
}
footer .allL {
	display: none;
}
footer .logo {
	display: none;
}
footer ul {
	margin: 0;
	padding-left: 0;
	list-style-type: none;
}
footer .shareBox {
	display: flex;
	justify-content: center;
	align-items: center;
	
}
footer .shareTitle {
	font-size: 1.8rem;
	padding-right: .5em;
	line-height: 1;
}
footer .sns ul {
	display: flex;
	padding:10px 0;
}
footer .sns a {
	margin:0 .5em;
	display: flex;
	justify-content: center;
	align-items: center;
	width:1.5em;
	height: 1.5em;
	border-radius: 50%;
	background: #fff;
	color: rgba(174,174,181,1);
}
footer .sns li:last-child a {
	margin-right: 0;
}
footer .bottom {
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	align-items: center;
	width:100%;
	background: rgba(154,142,164);
	
	color:#fff;
	font-size: 1.2rem;
	padding-bottom: 10px;
}
footer .bottom a {
	color: #fff;
}
footer .bottom .copy p {
	display: flex;
	width:100%;
	justify-content: center;
	align-items: center;
	
}
footer .bottom .lists {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 5em;
	width:100%;
}
footer .bottom ul li {
	display: inline;
}
footer .bottom ul li a {
	display:inline;
	
}
footer .bottom ul li a::after {
	content: '|';
	padding:0 1em;				
}
footer .bottom ul li:last-child a::after {
	content: '';
}
@media (min-width:992px) {
	footer {
		position: fixed;
		bottom: 0;
		z-index: 200;
		width:100%;
		background: rgba(174,174,181,1);
		color: #fff;
	}
	
	.fShort .body {
		padding-bottom: 4em;
		/* background: pink; */
	}
	.fFull .body {
		padding-bottom: 20em;
		/* background: orange; */
	}
	
	
	footer ul ul {
		padding-left: 1em;
	}
	
	footer .all {
	
		display: flex;
		justify-content: space-between;
		align-items: center;
		width:90%;
		max-width: 1680px;
		margin: 0 auto;
	}
	
	footer .allL {
		display: block;
		overflow: hidden;
		/* height: 166px; */
	}
	
	footer .navis {
		display: flex;
		font-size: 1.4rem;
		width:288px;
	}
	footer .navis>div:first-child>ul {
		padding-right: 1em;
	}
	footer .navis>div:last-child>ul {
		padding-left: 1em;
	}
	footer .navis a {
		color: #fff;
	}
	footer .navis>div>ul>li {
		padding-bottom: 1em;
	}
	footer .logoShare {
		display: flex;
		align-items: center;
		justify-content: space-around;
		
	}
	footer .logo {
		display: block;
		overflow: hidden;
		/* height: 60px; */
		
	}
	
	footer .footerlogo {
		border-right:solid 1px #fff;
		padding-right: 3em;
		margin-right: 3em;
		width:157px;
		box-sizing: content-box;
	}
	footer .logo .footerlogo p {
		margin:0;
	}
	footer .logo .footerlogo a {
		display: block;
	}
	footer .sns ul {
		padding:0;
	}
	

	/* 
	transition
		*/
	.fShort footer .all {
		padding:.5em 0;
		transition: padding 1s ease 1s;
	}
	.fFull footer .all {
		padding:3em 0;
		transition: padding 1s;
	}
	.fShort footer .allL {
		flex-basis: 0;
		height:1.5em;
		transition: flex-basis 1s, height 1s ease 1s;
	}
	.fShort footer .allR {
		flex-basis: 100%;
		transition: flex-basis 1s;
	}
	.fFull footer .allL {
		flex-basis: 288px;
		height:166px;
		transition: flex-basis 1s ease 1s, height 1s;
	}
	.fFull footer .allR {
		flex-basis: 393px;
		transition: flex-basis 1s ease 1s;
	}
	.fShort footer .logo {
		flex-basis:0;
		height:1.5em;
		transition: flex-basis 1s, height 1s ease 1s;
	}
	.fShort footer .share {
		flex-basis:100%;
		transition: flex-basis 1s;			
	}
	.fFull footer .logo {
		flex-basis:254px;
		height: 60px;
		transition: flex-basis 1s ease 1s, height 1s;
	}
	.fFull footer .share {
		flex-basis:139px;
		transition: flex-basis 1s ease 1s;
		
	}


	/* 
	footer .bottom.
	 */
	footer .bottom {
		display:block;

		width:100%;
		background: rgba(154,142,164);

		color:#fff;
		font-size: 1.2rem;
		overflow: hidden;
		padding-bottom: 0;
	}
	footer .bottom .lists {
		min-width: 481px;
	}
	
	
	/* 
	footer .bottom transition.
		*/
	.fShort footer .bottom .copy {
		float: left;
		width: 100%;
		text-align: center;
		transition: 1s;	
	}
	.fFull footer .bottom .copy {
		float:left;
		width: 50%;
		text-align: center;
		/* transition: 1s; */
		transition-delay: 1s;
		transition-duration: 1s;
		transition-property: width;
	}

	.fShort footer .bottom .copy p {
		height: 2em;
		/* transition: 1s; */
		transition-delay: 1s;
		transition-duration: 1s;
		transition-property: height;
	}
	.fFull footer .bottom .copy p {
		height: 5em;
		/* transition: 1s; */
		transition-duration: 1s;
		transition-property: height;
	}
	
	.fShort footer .bottom .links {
		float: right;
		width:0;
		overflow: hidden;
		height: 2em;
		text-align: center;
		transition: 1s;
	}
	.fFull footer .bottom .links {
		
		float:right;
		width: 50%;
		overflow: hidden;	
		height: 4em;
		text-align: center;
		/* transition-duration: 1s; */
		transition-delay: 1s;
		transition-duration: 1s, 1s;
		transition-property: width, height;
	}
}

/* body. */
.body {
	position: relative;
	z-index: 100;
}

/* .body */

/* popupapply. */
.popupapply {
	display: none;
	position: relative;
}
@media (min-width:992px) {
	.popupapply {
		display: none;
		position: fixed;
		top:0;
		right: 20px;
		z-index: 190;
		margin-top:55vh;
		margin-right: 5%;
	}
}

.popupapply .popupexit {
	display: block;
	width: 42px;
	height: 42px;
	position: relative;
	margin-left: auto;
	margin-top:0;
	margin-right: 0;
	background: rgba(96,96,96,1);
	border-radius: 50%;
	z-index: 2;
	cursor: pointer;
}

.popupapply .popupexit {
	display: block;
	width: 42px;
	height: 42px;
	position: relative;
	margin-left: auto;
	margin-top:0;
	margin-right: 0;
	background: rgba(96,96,96,1);
	border-radius: 50%;
	z-index: 2;
	cursor: pointer;
}


.popupapply .popupexit:hover {
	background: rgba(96,96,96,.8);
}
.popupapply .popupexit::before {
	content: "";
	display: block;
	width: 40%;
	height: 2px;
	background-color: #fff;
	transform: rotate(315deg);
	transform-origin: 0% 50%;
	position: absolute;
	top: 26px;
	left: 15px;
}
.popupapply .popupexit::after {
	content: "";
	display: block;
	width: 40%;
	height: 2px;
	background-color: #fff;
	transform: rotate(-315deg);
	transform-origin: 100% 50%;
	position: absolute;
	top: 26px;
	left: 10px;
}
.popupmain {
	position: absolute;
	top:21px;
	right: 21px;
	background: #fff;
	padding: 17px 22px 15px 20px;
	z-index: 1;
}
.popupapply .logo {
	margin-bottom: 15px;
	width:130px;
}
.popupapply .logo img {
	
	width:100%;
	height: auto;
}
.popupapply .btnapply {
	font-family: 'Lato', sans-serif;
}
.popupapply .btnapply a {
	display: flex;
	justify-content: center;
	align-items: center;
	margin:0 auto;
	width:110px;
	height: 32px;	
	border-radius: 3px;
	background: rgba(152,142,164,1);
	color: #fff;
	text-decoration: none;
	font-size: 1.6rem;
}
.popupapply .btnapply a:hover {
	background: rgba(152,142,164,.8);
}
@media (min-width:992px) {
	.popupmain {
		position: absolute;
		top:21px;
		right: 21px;
		background: #fff;
		padding: 34px 43px 30px 40px;
		z-index: 1;
	}	
	.popupapply .logo {
		margin-bottom: 29px;
		width:260px;
	}
	.popupapply .btnapply a {
		display: flex;
		justify-content: center;
		align-items: center;
		margin:0 auto;
		width:190px;
		height: 52px;	
		border-radius: 3px;
		background: rgba(152,142,164,1);
		color: #fff;
		text-decoration: none;
		font-size: 1.6rem;
		
	}
}
/* .popupapply */