@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Overpass:wght@300;400;500;600;700&display=swap');


/*
	font-family: 'Noto Sans JP', sans-serif;
	font-family: 'Lato', sans-serif;
	font-family: 'Overpass', sans-serif;
	Light 300
	Regular 400
	Medium 500
	Semi-bold 600
	Bold 700
	Extra-bold 800
	Black 900
*/


  

/* CSS Document */

html {
	font-size:10px;
}
body {
	position:relative;
	font-size:1rem;
	line-height:1.8;
	font-family: 'Noto Sans JP', sans-serif;
	color:#050505;
	-webkit-font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
	-ms-font-feature-settings: "palt";
	-o-font-feature-settings: "palt";
	font-feature-settings: "palt";
	/*-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	-ms-font-smoothing: antialiased;
	-o-font-smoothing: antialiased;
	font-smoothing: antialiased;*/
}
@media screen and (max-width: 1500px) {
html {
	/*
	font-size:0.962vw;
	font-size:1.058vw;
	font-size:1.154vw;
	*/
}
body {
	font-size:1rem;
	width: 100%;
	min-width: 100%;
}
}
@media screen and (max-width: 767px) {
html {
	font-size:2.868vw;
}
body {
	font-size:1rem;
	width: 100%;
	min-width: 100%;
	line-height:1.7;
	padding:0;
	-webkit-font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
	-ms-font-feature-settings: "palt";
	-o-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
}
}

* {
	font-style: normal;
	font-weight: 400;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}


a {color: #050505; text-decoration: none; transition: .5s;}
a:hover {color: #666666; text-decoration:underline; transition: .5s;}

main a {color: #050505; text-decoration: underline;	transition: .5s;}
main a:hover {color: #666666; text-decoration:none;	transition: .5s;}

a:hover img ,
a.opacity:hover ,
footer footer_in .f_contents section dl a:hover {
	text-decoration:none;
	opacity:0.65;
	filter: alpha(opacity=65);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=65)";  /* ie 8 */
	-moz-opacity:0.65;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.65;              /* Safari 1.x */
	zoom:1;
}
header h2 a:hover img ,
footer dl dt a:hover img {
	opacity:1.0;
	filter: alpha(opacity=100);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=100)";  /* ie 8 */
	-moz-opacity:1.0;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 1.0;              /* Safari 1.x */
	zoom:1;
}
a:before, a:after,
a:hover:before, a:hover:after{
	text-decoration: none !important;
	display: inline-block;
}
img {
	width: 100%;
	height: auto;
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
	-moz-backface-visibility:hidden;
	-ms-backface-visibility:hidden;
	image-rendering: -webkit-optimize-contrast;
}
/*共通*/
.sp , .sp_img {
	display: none;
}
@media screen and (max-width: 767px) {
img {
	max-width: none;
	width: 100%;
	height: auto;
}
.pc {
	display: none;
}
.sp , .sp_img {
	display: block;
}
}






/*	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
	behavior: url("/css/PIE.htc");*/

/*
:after {
	content: " ";
	font-size: 0.1rem;
	display: block;
	clear: both;
	line-height: 0;
	height: 0;
	visibility: hidden;
}

span:before {
	font-family: "FontAwesome";
	content: "\f090";
}
span:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0c8";
}

*/






/*header*/
h1 {
	display:none;
}
header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
}
header a ,
header a:hover {
	text-decoration: none !important;
}
header h2 {
	position: absolute;
	top: 20px;
	left: 40px;
	line-height: 1.1;
}
header h2 a {
	display: flex;
	align-items: center;
	color: #FFF;
}
header h2 a:hover {
	color: #FFF;
}
header h2 a span {
	display: block;
	width: 55px;
	margin-right: 10px;
}
header h2 a em {
	display: flex;
	flex-direction:column;
}
header h2 a em i {
	display: block;
	font-size: 1.3rem;
	font-weight: 500;
}
header h2 a em span {
	display: block;
	width: auto;
	margin: 0;
	margin-top: .2em;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 3.2rem;
	letter-spacing: .2em;
}
header dl {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
}
header dl a {
	color: #FFF !important;
}
header dl a:hover {
	text-decoration:none;
	opacity:0.65;
	filter: alpha(opacity=65);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=65)";  /* ie 8 */
	-moz-opacity:0.65;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.65;              /* Safari 1.x */
	zoom:1;
}
header dl dt ,
header dl dd {
	width: 185px;
	height: 80px;
	background: #FFF;
}
header dl dt a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: linear-gradient(143deg, rgba(8,196,245,1) 0%, rgba(144,117,254,1) 100%);
}
header dl dt a em {
	display: block;
	width: 28px;
	margin-right: 15px;
}
header dl dt a span {
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: normal;
}
header dl dd a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: linear-gradient(143deg, rgba(58,205,1,1) 0%, rgba(5,175,89,1) 100%);
}
header dl dd a em {
	display: block;
	width: 34px;
	margin-right: 13px;
}
header dl dd a span {
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: normal;
}
@media screen and (max-width: 1200px) {
	header h2 {
		left: 20px;
	}
	
}
@media screen and (max-width: 767px) {
	header h2 {
		top: 4vw;
		left: 3vw;
	}
	header h2 a span {
		width: 14vw;
		margin-right: 2vw;
	}
	header h2 a em i {
		font-size: 1.1rem;
	}
	header h2 a em span {
		font-size: 3.2rem;
		padding-top: 0;
		line-height: 1em;
	}
	header dl {
		display: none;
	}
}


/*nav*/
nav {
	position: relative;
	z-index: 2;
	top: -50px;
	max-width: 1200px;
	margin: 0 auto;
	margin-bottom: -50px;
	/*background: #FFF;*/
}
nav ul {
	display: flex;
	justify-content: space-between;
	height: 100px;
	background: linear-gradient(90deg, rgba(8,196,245,.96) 0%, rgba(144,117,254,.96) 100%);
}
nav ul li {
	position: relative;
	width: 100%;
}
nav ul li:not(:nth-last-of-type(-n+2))::after {
	position: absolute;
	top: 25px;
	right: 0;
	width: 1px;
	height: 50px;
	background: rgba(255, 255, 255, .3);
	content: '';
}
nav ul li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction:column;
	width: 100%;
	height: 100%;
	color: #FFF;
	line-height: 1.1;
}
nav ul li a:hover {
	color: #FFF;
	text-decoration: none;
}
nav ul li a::after {
	transition: all .5s ease;
	content: '';
}
nav ul li a:hover::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, .3);
	display: block;
	content: '';
}
nav ul li a span ,
nav ul li a em {
	display: block;
	text-align: center;
}
nav ul li a span {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .1em;
	text-indent: .1em;
}
nav ul li a em {
	font-family: 'Overpass', sans-serif;
	font-size: 1.4rem;
	font-weight: 600;
	padding-top: .8em;
}
@media screen and (max-width: 1000px) {
	nav ul li a span {
		font-size: 1.4rem;
	}
	nav ul li a em {
		font-size: 1.3rem;
	}
}
@media screen and (max-width: 1000px) {
	nav ul li a span ,
	nav ul li a em {
		white-space: nowrap;
		padding-right: .5em;
		padding-left: .5em;
	}
}
@media screen and (max-width: 767px) {
	nav {
		position: fixed;
		z-index: 10;
		top: 0;
		left: 0;
		max-width: inherit;
		width: 100%;
		height: 100vh;
		margin: 0;
		padding-top: 20vw;
		background: rgba(8, 196, 245, .9);
		display: none;
		transition: all .2s;
	}
	nav.is-active {
		display: block;
	}
	nav ul {
		display: flex;
		flex-direction: column;
		justify-content: start;
		height: calc(100vh - 20vw);
		overflow: auto;
		background: none;
		padding-bottom: 10vh;
	}
	nav ul li:not(:nth-last-of-type(-n+2))::after {
		position: absolute;
		top: inherit;
		right: inherit;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #08ddfa;
		content: '';
	}
	nav ul li:nth-last-of-type(-n+2)::after {
		position: absolute;
		top: inherit;
		right: inherit;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #08ddfa;
		content: '';
	}
	nav ul li a {
		position: relative;
		display: flex;
		justify-content: flex-start;
		align-items: baseline;
		flex-direction: row;
		width: 100%;
		height: 100%;
		color: #FFF;
		line-height: 1.1;
		padding:1.5em 3em 1.5em 1em;
	}
	nav ul li a:hover::after {
		display: none;
	}
	nav ul li a span ,
	nav ul li a em {
		white-space: nowrap;
		padding-right: 0;
		padding-left: 0;
	}
	nav ul li a span {
		font-size: 2.0rem;
		font-weight: 700;
		margin-right: .5em;
	}
	nav ul li a em {
		font-family: 'Overpass', sans-serif;
		font-size: 1.4rem;
		font-weight: 600;
		padding-top: 0;
		color: #ddd;
	}
	nav ul li a:hover {
		color: #FFF;
	}
	nav ul li a:hover em {
		color: #ddd;
	}
		
}



/*footer*/
footer {
	position: relative;
	background: #0e1f37;
	padding: 50px 0 80px;
}
footer::after {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 7px;
	display: block;
	background: linear-gradient(90deg, rgba(8,196,245,1) 0%, rgba(144,117,254,1) 100%);
	content: '';
}
footer a ,
footer a:hover {
	color: #FFF;
	text-decoration: none;
}
footer .f_info {
	position: relative;
	display: flex;
	align-items: center;
	justify-content:center;
	padding-bottom: 40px;
}
footer .f_info .box_l {
	position: relative;
	padding-right: 60px;
}
footer .f_info .box_l p a {
	position: relative;
	display: flex;
	justify-content:center;
	align-items: flex-start;
	line-height: 1.1;
}
footer .f_info .box_l p a:hover ,
footer .f_info .box_l p a:hover img {
	opacity:1.0;
	filter: alpha(opacity=100);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=100)";  /* ie 8 */
	-moz-opacity:1.0;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 1.0;              /* Safari 1.x */
	zoom:1;
}
footer .f_info .box_l p a span {
	display: block;
	width: 50px;
	margin-right: 15px;
	padding-top: 20px;
}
footer .f_info .box_l p a em {
	display: flex;
	flex-direction:column;
}
footer .f_info .box_l p a em i {
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
	color: #68ccfe;
}
footer .f_info .box_l p a em span {
	display: block;
	width: auto;
	margin: 0;
	padding: .2em 0;
	font-size: 4.0rem;
	font-weight: 700;
	letter-spacing: .2em;
	color: #68ccfe;
	background: linear-gradient(90deg, rgba(8,196,245,1) 0%, rgba(144,117,254,1) 100%);
	-webkit-background-clip: text;
    background-clip: text;
	-webkit-text-fill-color: transparent;
}
footer .f_info .box_l p a em span + i {
	letter-spacing: .2em;
}
footer .f_info .box_r {
	position: relative;
	padding: 5px 0;
	padding-left: 50px;
}
footer .f_info .box_r:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 100%;
	display: block;
	background: #486284;
	content: '';
}
footer .f_info .box_r address {
	display: block;
	color: #FFF;
	font-size: 1.5rem;
	margin-bottom: .6em;
}
footer .f_info .box_r p a {
	display: inline-block;
	white-space: nowrap;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: .1em;
	text-indent: .1em;
	line-height: 1.1;
	padding: 1em 2.5em;
	border: solid 1px #3b4b60;
	color: #FFF;
}
footer .f_info .box_r p a:hover {
	background: #3b4b60;
}
footer .f_nav {
	max-width: 1200px;
	margin: 0 auto;
	padding: 30px 0 40px;
	border-top: solid 1px #273e5d;
}
footer .f_nav ul {
	display: flex;
	justify-content:center;
}
footer .f_nav ul li {
	font-size: 1.5rem;
}
footer .f_nav ul li:not(:last-of-type) {
	margin-right: 2em;
}
footer .f_nav ul li a:hover {
	text-decoration:none;
	opacity:0.65;
	filter: alpha(opacity=65);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=65)";  /* ie 8 */
	-moz-opacity:0.65;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.65;              /* Safari 1.x */
	zoom:1;
}
footer .copy {
	display: block;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 300;
	color: #FFF;
}
.return {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 60px;
}
.fix_btn {
	display: none;
}
@media screen and (max-width: 940px) {
	footer .f_nav ul li:not(:last-of-type) {
		margin-right: 1em;
	}	
}
@media screen and (max-width: 767px) {
	footer {
		padding: 10vw 0 20vw;
	}
	footer::after {
		height: 5px;
	}
	footer .f_info {
		width: 92%;
		margin: 0 auto;
		flex-direction: column;
		padding-bottom: 10vw;
	}
	footer .f_info .box_l {
		padding-right: 0;
		padding-bottom: 6vw;
		width: 100%;
	}
	footer .f_info .box_l p a span {
		width: 15vw;
		margin-right: 3vw;
		padding-top: 3vw;
	}
	footer .f_info .box_l p a em i {
		font-size: 1.3rem;
	}
	footer .f_info .box_l p a em span {
		padding: .2em 0;
		font-size: 3.4rem;
	}
	footer .f_info .box_r {
		padding: 6vw 0 0;
		width: 100%;
	}
	footer .f_info .box_r:before {
		width: 100%;
		height: 1px;
	}
	footer .f_info .box_r address {
		font-size: 1.5rem;
		padding: 0 1.5em;
		margin-bottom: .8em;
	}
	footer .f_info .box_r p {
		text-align: center;
	}
	footer .f_info .box_r p a {
		padding: 1em 3em;
	}
	footer .f_nav {
		display: none;
	}
	footer .copy {
		font-size: 1.2rem;
	}
	.return {
		position: fixed;
		right: 4vw;
		bottom: 25vw;
		width: 12vw;
	}
	.menu_btn {
		position: fixed;
		top: 3.9vw;
		right: 3.9vw;
		z-index: 20;
		width: 14.323vw;
		height: 14.323vw;
		display: block;
		cursor: pointer;
		background: url(../img/common/menu_btn_off.jpg) no-repeat center center;
		background-size: cover;
		transition: .5s;
	}
	.menu_btn.is-active {
		background: url(../img/common/menu_btn_on.jpg) no-repeat center center;
		background-size: cover;
		transition: .5s;
	}
	.fix_btn {
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 5;
		width: 100%;
		display: block;
	}
	.fix_btn ul {
		display: flex;
		background: #FFF;
	}
	.fix_btn ul li {
		position: relative;
		flex: 1;
	}
	.fix_btn ul li:not(:last-of-type)::after {
		position: absolute;
		top: 0;
		right: 0;
		width: 1px;
		height: 100%;
		background: #FFF;
		display: block;
		content: '';
	}
	
}


/*common_contact*/
.common_contact {
	background: url(../img/common/common_contact_bg.jpg) no-repeat center center;
	background-size: cover;
	padding: 70px 0 65px;
}
.common_contact h3 {
	font-family: 'Overpass', sans-serif;
	font-size: 3.8rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-indent: .1em;
	line-height: 1.1;
	margin-bottom: .6em;
	color: #FFF;
	text-align: center;
}
.common_contact h3 + p {
	font-size: 1.6rem;
	line-height: 1.1;
	margin-bottom: 2em;
	color: #FFF;
	text-align: center;
}
.common_contact .btn {
	display: flex;
	justify-content: center;
}
.common_contact .btn section {
	background: #FFF;
	width: 300px;
	height: 95px;
}
.common_contact .btn section:not(:last-of-type) {
	margin-right: 20px;
}
.common_contact .btn section a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	line-height: 1.1;
}
.common_contact .btn section a ,
.common_contact .btn section a:hover {
	color: #1d1c1c;
	text-decoration: none !important;
}
.common_contact .btn section a:hover {
	text-decoration:none;
	opacity:0.65;
	filter: alpha(opacity=65);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=65)";  /* ie 8 */
	-moz-opacity:0.65;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.65;              /* Safari 1.x */
	zoom:1;
}
.common_contact .btn section.tel a {
	pointer-events: none;
}
.common_contact .btn section.tel a .icon {
	width: 28px;
	margin-right: 15px;
}
.common_contact .btn section.tel a div p {
	font-family: 'Overpass', sans-serif;
	font-size: 2.4rem;
	letter-spacing: .05em;
	text-indent: .05em;
	line-height: 1em;
}
.common_contact .btn section.tel a div time {
	display: block;
	text-align: center;
	font-size: 1.4rem;
}
.common_contact .btn section.contact a::after {
	position: absolute;
	top: 50%;
	/*transform: translateY(-50%);*/
	right: 0;
	width: 30px;
	height: 1px;
	background: #2fa0f6;
	display: block;
	transition: all 0.2s;
	content: '';
}
.common_contact .btn section.contact a:hover::after {
	width: 20px;
}
.common_contact .btn section.contact a .icon {
	width: 32px;
	margin-right: 15px;
}
.common_contact .btn section.contact a p {
	font-size: 1.6rem;
	font-weight: 500;
}
.common_contact .btn section.line a::after {
	position: absolute;
	top: 50%;
	/*transform: translateY(-50%);*/
	right: 0;
	width: 30px;
	height: 1px;
	background: #3acd01;
	display: block;
	transition: all 0.2s;
	content: '';
}
.common_contact .btn section.line a:hover::after {
	width: 20px;
}
.common_contact .btn section.line a .icon {
	width: 37px;
	margin-right: 15px;
}
.common_contact .btn section.line a p {
	font-size: 1.6rem;
	font-weight: 500;
}
@media screen and (max-width: 940px) {
	.common_contact .btn section.contact a::after {
		width: 20px;
	}
	.common_contact .btn section.contact a:hover::after {
		width: 10px;
	}	
	.common_contact .btn section.contact a .icon {
		margin-right: 5px;
	}
	.common_contact .btn section.contact a p {
		font-size: 1.5rem;
	}
	.common_contact .btn section.line a::after {
		width: 20px;
	}
	.common_contact .btn section.line a:hover::after {
		width: 10px;
	}	
	.common_contact .btn section.line a .icon {
		width: 25px;
		margin-right: 5px;
	}
	.common_contact .btn section.line a p {
		font-size: 1.5rem;
	}	
}
@media screen and (max-width: 767px) {
	.common_contact {
		background: url(../img/common/common_contact_bg.jpg) no-repeat center center;
		background-size: cover;
		padding: 10vw 4%;
	}
	.common_contact h3 {
		font-size: 2.4rem;
		margin-bottom: .8em;
	}
	.common_contact h3 + p {
		font-size: 1.4rem;
		line-height: 1.7;
		text-align: left;
	}
	.common_contact .btn {
		display: flex;
		flex-direction: column;
		padding: 0 5%;
	}
	.common_contact .btn section {
		width: 100%;
		height: 16vw;
	}
	.common_contact .btn section:not(:last-of-type) {
		margin-right: 0;
		margin-bottom: 8vw;
	}
	.common_contact .btn section.tel a {
		pointer-events: auto;
	}
	.common_contact .btn section.tel a .icon {
		width: 8vw;
		margin-right: 3vw;
	}
	.common_contact .btn section.tel a div p {
		font-size: 2.0rem;
	}
	.common_contact .btn section.contact a::after {
		width: 6vw;
	}
	.common_contact .btn section.contact a:hover::after {
		width: 4vw;
	}
	.common_contact .btn section.contact a .icon {
		width: 8vw;
		margin-right: 3vw;
	}
	.common_contact .btn section.contact a p {
		font-size: 1.4rem;
	}
	.common_contact .btn section.line a::after {
		width: 6vw;
	}
	.common_contact .btn section.line a:hover::after {
		width: 4vw;
	}
	.common_contact .btn section.line a .icon {
		width: 8vw;
		margin-right: 3vw;
	}
	.common_contact .btn section.line a p {
		font-size: 1.4rem;
	}
}


/*header_img*/
.header_img {
	position: relative;
	height: 600px;
	background-size: cover !important;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.1;
	text-align: center;
}
.header_img h3 em ,
.header_img h3 span {
	display: block;
	text-align: center;
}
.header_img h3 em {
	font-size: 2.0rem;
	font-weight: 500;
	color: #40a7f3;
}
.header_img h3 span {
	font-family: 'Lato', sans-serif;
	font-size: 7.0rem;
	font-weight: 700;
	letter-spacing: .1em;
	color: #68ccfe;
	background: linear-gradient(80deg, rgba(8,196,245,1) 0%, rgba(144,117,254,1) 100%);
	-webkit-background-clip: text;
    background-clip: text;
	-webkit-text-fill-color: transparent;
	padding-bottom: .4em;
}
@media screen and (max-width: 767px) {
	.header_img {
		height: 60vh;
	}
	.header_img h3 em {
		font-size: 1.6rem;
	}
	.header_img h3 span {
		display: inline-block;
		font-size: 3.0rem;
		white-space: nowrap;
	}
	
}



/*main*/
main {
	display: block !important;
	max-width: 1200px;
	margin: 0 auto;
	padding: 120px 0;
	font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
	main {
		max-width: inherit;
		width: 92%;
		padding: 15vw 0;
		font-size: 1.5rem;
	}
	
}


/*タイトル*/
.ttl01 {
	font-size: 2.8rem;
	text-align: center;
	line-height: 1.1;
	letter-spacing: .1em;
	text-indent: .1em;
	margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
	.ttl01 {
		font-size: 1.8rem;
	}
	
}



/*ずれ*/
.anc:before {
	position: relative;
	z-index: -1;
	display: block;
	padding-top: 150px;
	margin-top: -150px;
	content: '';
}
@media screen and (max-width: 767px) {
	.anc:before {
		padding-top: 20vw;
		margin-top: -20vw;
		content: '';
	}
}
