@charset "UTF-8";
/*------------------------
スタイルの初期化
------------------------*/
/*--------共通--------*/
body,div,pre,p,blockquote,
form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
table,th,td,embed,object,figure { margin:0; padding:0; }
html {
	font-size: 62.5%;
}
@media screen and (min-width:768px) and ( max-width:1620px) {
	html {
		font-size: calc(100vw / 162);
	}
}
@media screen and (min-width:1620px) {
	html {
		font-size: 62.5%;
	}
}
body {
	width: 100%;
	background: url(../img/bg_stripe.jpg);
	font-family: 'IBM Plex Sans JP','メイリオ','Meiryo','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
	font-weight: 400;
	color: var(--txtcolor);
	letter-spacing: .04em;
	line-height: 1.5;
	text-autospace:ideograph-alpha;
	font-feature-settings: "palt";
	position: relative;
}
main {
	display: block;
}
a {
	text-decoration: none;
	color: var(--txtcolor);
	transition: all .3s ease 0s;
}
a img {
	border:0;
}
img{
	vertical-align:top;
	max-width: 100%;
}
ul, ol { list-style-type:none; }
sup { position: relative; vertical-align: baseline; top: -0.9em; font-size: 0.5em; }
hr { display: none; }
h1,h2,h3,h4,h5,h6 { font-size: 100%; font-weight: normal;}
th, caption{ text-align: left; font-weight: normal; }
th,td { empty-cells:show; }
*:focus {
	outline: none;
}
*{
	box-sizing: border-box;
}
:root {
	--txtcolor: #001732;
	--accentcolor: #295fcc;
	--inccolor: #ff3366;
	--inctxt: #454545;
	--mygray: #f6f4f4;
}
.ef {
	font-family: "Barlow Semi Condensed", sans-serif;
}
.flex-box {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
table {
	width: 100%;
	border-collapse: collapse;
	box-sizing: border-box;
}
/*ボタンスタイル*/
.btn a {
	display: block;
	background: var(--accentcolor);
	border: .2rem solid var(--accentcolor);
	border-radius: 50vw;
	font-weight: 500;
	color: #fff;
	line-height: 1;
	letter-spacing: .1em;
	position: relative;
}
.btn a::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	background: #fff;
	border-radius: 50vw;
}
.btn a span {
	display: block;
}
.btn a span::before ,
.btn a span::after {
	content: '';
	z-index: 1;
}
/*--------pc--------*/
@media screen and (min-width:768px) {
	body{
		font-size: 1.6rem;
	}
	.pc {
		display: block;
	}
	.sp {
		display: none;
	}
	.pc.flex-box {
		display: flex;
	}
	.pc-ib {
		display: inline-block;
	}
	/*ボタンスタイル*/
	.btn {
		width: 34rem;
		overflow: hidden;
		z-index: 1;
	}
	.btn a {
		padding: 2rem 2rem 1.8rem;
		font-size: 1.8rem;
		overflow: hidden;
		z-index: 1;
	}
	.btn a::after {
		width: 5.8rem;
	}
	.btn a::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #fff;
		border-radius: 50vw;
		transform: scale(0, 1);
		transform-origin: left top;
		transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
		z-index: -1;
	}
	.btn a:hover {
		color: var(--accentcolor);
	}
	.btn a:hover::before {
		transform: scale(1, 1);
	}
	.btn a span::before {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 1.8rem;
		width: 2.2rem;
		height: 0.2rem;
		background: var(--accentcolor);
		transition: all .3s ease 0s;
	}
	.btn a span::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 1.8rem;
		width: 0.8rem;
		height: .8rem;
		border-bottom: .2rem solid var(--accentcolor);
		border-right: .2rem solid var(--accentcolor);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		transition: all .3s ease 0s;
	}
	.btn a:hover span::before {
		animation: .6s ease-in btnanm;
	}
	@keyframes btnanm {
		0% {
			width: 2.2rem;
		}
		50% {
			width: 0;
		}
		100%{
			width: 2.2rem;
		}
	}
}
/*--------sp--------*/
@media screen and (max-width:767px) {
	body {
		font-size: 4.27vw;
		background: url(../img/bg_stripe.jpg);
		background-size: 18%;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.sp.flex-box {
		display: flex;
	}
	.sp-ib {
		display: inline-block;
	}
	.btn a {
		padding: 4.667vw;
	}
	.btn a::after {
		width: 13.61vw;
	}
	.btn a span::before {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 4.5vw;
		width: 5vw;
		height: 2px;
		background: var(--accentcolor);
	}
	.btn a span::after {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 4.5vw;
		width: 2vw;
		height: 2vw;
		border-bottom: 2px solid var(--accentcolor);
		border-right: 2px solid var(--accentcolor);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
}
/*------------------------
header
------------------------*/
/*--------共通--------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 150;
	background: #fff;
	box-shadow: 0px 10px 10px -5px rgba(0,0,0,.08);
}
header .inner {
	justify-content: space-between;
}
/*--------pc--------*/
@media screen and (min-width:768px) {
	header .inner {
		align-items: center;
		padding: 2rem 4rem;
		transition: all .3s ease 0s;
	}
	header .inner .logo {
		width: 31.8rem;
	}
	header .inner .menu-area .btnen {
		width: 23.5rem;
		margin: 0 0 1.5rem auto;
	}
	header .inner .menu-area .btnen a {
		display: block;
		height: 4.7rem;
		padding: 1.7rem 0 0 5.4rem;
		border-radius: 50vw;
		font-size: 1.4rem;
		background: #93ceea;
		font-weight: 500;
		color: var(--accentcolor);
		letter-spacing: .05em;
		line-height: 1;
		position: relative;
	}
	header .inner .menu-area .btnen a:hover {
		background: var(--accentcolor);
		color: #fff;
	}
	header .inner .menu-area .btnen a::before {
		content: '';
		position: absolute;
		z-index: 1;
		top: .8rem;
		left: 1.2rem;
		width: 2.4rem;
		height: 3.3rem;
		background: url(../img/icn_mail.svg) no-repeat 100% / contain;
	}
	header .inner .menu-area .btnen a::after {
		content: '';
		position: absolute;
		top: -0.1rem;
		left: -0.1rem;
		right: auto;
		background: #eef7fb;
		width: 4.9rem;
		height: 4.9rem;
		border-radius: 50vw;
	}
	header .inner .menu-area .btnen a b {
		font-size: 1.6rem;
	}
	header .inner .menu-area .btnen a .icon{
		width: 1.2rem;
		height: 1.2rem;
		display: inline-block;
		background: url(../img/icon_blank_blue.svg) no-repeat 100% / contain;
		margin-left: .5rem;
		transition: all .3s ease 0s;
	}
	header .inner .menu-area .btnen a:hover .icon{
		background: url(../img/icon_blank_w.svg) no-repeat 100% / contain;
	}
	header .inner .menu-area ul li a {
		display: block;
		padding: 0 2rem;
		font-size: 1.6rem;
		line-height: 1;
		position: relative;
	}
	header .inner .menu-area ul li a .icon{
		width: 1.5rem;
		height: 1.5rem;
		display: inline-flex;
		background: url(../img/icon_blank.svg) no-repeat 100% / contain;
		margin-left: .5rem;
		transition: all .3s ease 0s;
		position: absolute;
		right: 0;
		top: -.1rem;
	}
	header .inner .menu-area ul li:last-of-type a {
		padding: 0 2rem 0 2rem;
	}
	header .inner .menu-area ul li a::after {
		content: '';
		position: absolute;
		bottom: -1rem;
		left: 2rem;
		width: 0;
		transition: width .3s;
		border-bottom: .3rem solid var(--accentcolor);
	}
	header .inner .menu-area ul li a:hover::after {
		width: calc(100% - 4rem);
	}
	header .inner .menu-area ul li:last-of-type a:hover::after {
		width: calc(100% - 2rem);
	}
	/*fixedスタイル*/
	.fixed .inner {
		padding: 1.5rem 3rem;
	}
	header.fixed .logo {
		width: 30rem;
	}
	header.fixed .menu-area .btnen {
		width: 21rem;
		margin: 0 0 1.2rem auto;
	}
	header.fixed .menu-area .btnen a {
		height: 4rem;
		padding: 1.4rem 0 0 4.9rem;
		font-size: 1.2rem;
	}
	header.fixed .menu-area .btnen a b {
		font-size: 1.4rem;
	}
	.fixed .menu-area .btnen a::before {
		top: .6rem;
		left: 1rem;
		width: 2rem;
		height: 2.7rem;
	}
	header.fixed .menu-area .btnen a::after {
		width: 4.2rem;
		height: 4.2rem;
	}
	header.fixed .inner .menu-area .btnen a::before {
		top: .6rem;
		left: 1rem;
		width: 2rem;
		height: 2.7rem;
	}
	header.fixed .menu-area .btnen a b {
		font-size: 1.4rem;
	}
	header.fixed .menu-area ul li a {
		font-size: 1.3rem;
		padding: 0 1rem;
	}
	header.fixed .menu-area ul li a::after {
		left: 1rem;
	}
	header.fixed .menu-area ul li a:hover::after {
		width: calc(100% - 2rem);
	}
	header.fixed .menu-area ul li:last-of-type a {
		padding: 0 1.5rem 0 .5rem;
	}
	header.fixed .menu-area ul li:last-of-type a::after {
		left: .5rem;
	}
	header.fixed .menu-area ul li:last-of-type a:hover::after {
		width: calc(100% - .5rem);
	}
	header.fixed .menu-area ul li:last-of-type a .icon{
		width: 1.2rem;
		height: 1.2rem;
	}
}
/*--------sp--------*/
@media screen and (max-width:767px) {
	header .inner {
		justify-content: space-between;
		position: relative;
		z-index: 200;
		align-items: stretch;
		background: #fff;
	}
	header .inner .logo {
		width: 50.667vw;
		margin: 3% 4.5%;
	}
	header .inner .menu {
		width: 15.667vw;
		height: auto;
		background: var(--accentcolor);
		position: relative;
	}
	header .inner .menu .menu1 {
		position: absolute;
		width: 7.733vw;
		height: 2px;
		top: 38%;
		left: 0;
		right: 0;
		margin: auto;
		background: #fff;
		transition: all .3s ease 0s;
	}
	header .inner .menu .menu2 {
		position: absolute;
		width: 7.733vw;
		height: 2px;
		top: 50%;
		left: 0;
		right: 0;
		margin: auto;
		background: #fff;
		transition: all .3s ease 0s;
	}
	header .inner .menu .menu3 {
		position: absolute;
		width: 7.733vw;
		height: 2px;
		top: 62%;
		left: 0;
		right: 0;
		margin: auto;
		background: #fff;
		transition: all .3s ease 0s;
	}
	header .inner .menu.active .menu1 {
		top: 50%;
		left: 0;
		right: 0;
		margin: auto;
		width: 8vw;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	header .inner .menu.active .menu2 ,
	header .inner .menu.active .menu3 {
		top: 50%;
		left: 0;
		right: 0;
		margin: auto;
		width: 8vw;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	/*------------------------
	ハンバーガーメニュー
	------------------------*/
	.menu-list {
		width: 100%;
		position: absolute;
		z-index: 150;
		top: 0;
		left: 0;
		transform: translateY(-200vh);
		transition: all .6s;
		padding: 18% 4.5% 12%;
		background: #fff;
	}
	.menu-list.active {
		transform: translateY(0);
	}
	.menu-list ul li a {
		display: block;
		padding: 3% 0;
		font-size: 4vw;
		line-height: 1;
	}
	.menu-list ul li a .icon{
		width: 3.2vw;
		height: 3.2vw;
		display: inline-block;
		background: url(../img/icon_blank.svg) no-repeat 100% / contain;
		margin-left: 1vw;
	}
	#overlay {
		z-index: 3;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
		position: fixed;
		background: rgba(0,0,0,.3);
		transition: all .6s;
		top: 0;
		left: 0;
		opacity: 0;
	}
}
/*------------------------
エントリー
------------------------*/
/*--------共通--------*/
.entry .ashi {
	overflow: hidden;
}
.entry .ashi .item span {
	display: block;
}
.entry .ashi .item span img {
	width: 100%;
}
.entry .ashi .item:first-child {
	animation: loop 90s -45s linear infinite;
}
.entry .ashi .item:last-child {
	animation: loop2 90s linear infinite;
}
@keyframes loop {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(-100%);
	}
}
@keyframes loop2 {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-200%);
	}
}
.entry .cont .inner .ttl {
	text-align: center;
	color: #fff;
}
.entry .cont .inner .ttl h2 {
	font-weight: 500;
	line-height: 1;
	letter-spacing: .075em;
}
.entry .cont .inner .privacy {
	background: var(--mygray);
	line-height: 1.37;
}
.entry .cont .inner .privacy a {
	text-decoration: underline;
}
.entry .cont .inner .privacy .icon{
	display: inline-block;
	background: url(../img/icon_blank.svg) no-repeat 100% / contain;
}
.entry .cont .inner .pattern .item {
	background: rgba(255,255,255,.2);
	border-radius: 6px;
	color: #fff;
}
.entry .cont .inner .pattern .item .head-area {
	line-height: 1;
	letter-spacing: .05em;
}
.entry .cont .inner .pattern .item .head-area .head {
	display: block;
	background: var(--inccolor);
	position: relative;
	font-weight: 500;
}
.entry .cont .inner .pattern .item .head-area .head::after {
	content: '';
	position: absolute;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent #ba254a transparent transparent;
}
.entry .cont .inner .pattern .item .head-area .gift {
	font-weight: 500;
}
.entry .cont .inner .pattern .item .head-area .gift b {
	font-weight: 500;
	color: #fecbd8;
}
.entry .cont .inner .pattern .item h3 {
	display: flex;
	align-items: center;
	font-weight: 500;
	line-height: 1;
}
.entry .cont .inner .pattern .item h3 span  {
	background: #fff;
	display: inline-block;
	position: relative;
}
.entry .cont .inner .pattern .item h3 span::before ,
.entry .cont .inner .pattern .item h3 span::after {
		content: '';
		position: absolute;
		background: #fff;
}
.entry .cont .inner .pattern .item p {
	line-height: 1.42;
}
.entry .cont .inner .btnen a {
	display: block;
	background: #93ceea;
	border-radius: 50vw;
	font-weight: 500;
	color: var(--accentcolor);
	letter-spacing: .075em;
	line-height: 1;
	position: relative;
}
.entry .cont .inner .btnen a::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: #fff;
	border-radius: 50vw;
}
.entry .cont .inner .btnen a b {
	font-weight: 500;
}
.entry .cont .inner .company {
	background: rgba(255,255,255,.6);
	letter-spacing: .05em;
}
.entry .cont .inner .btnen a .icon{
	display: inline-block;
	background: url(../img/icon_blank_blue.svg) no-repeat 100% / contain;
}
/*--------pc--------*/
@media screen and (min-width:768px) {
	.entry .ashi .item span {
		width: calc(100vw / 3.3);
		padding-right: 7rem;
	}
	.entry .cont {
		background: url(../img/bg_entry.jpg) no-repeat 100%/cover;
		margin-top: -4.8rem;
		padding: 11rem 0 10rem;
	}
	.entry .cont .inner {
		margin: auto;
		max-width: 120rem;
	}
	.entry .cont .inner .ttl {
		margin-bottom: 6rem;
	}
	.entry .cont .inner .ttl h2 {
		font-size: 4.6rem;
		margin-bottom: 4rem;
	}
	.entry .cont .inner .ttl .lead {
		font-size: 2.3rem;
		line-height: 1;
	}
	.entry .cont .inner .privacy {
		padding: 2rem 2rem 1.5rem;
		margin-bottom: 4rem;
	}

	.entry .cont .flex{
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 6rem;
	}
	.entry .cont .flex .btn a{
		background: var(--inccolor);
		border: .2rem solid var(--inccolor);
		padding: 2.8rem 2rem 2.5rem;
		font-size: 2.2rem;
	}
	.entry .cont .flex .btn a::after{
		width: 7.6rem;
	}
	.entry .cont .flex .btn a span::after {
		border-bottom: 2px solid var(--inccolor);
		border-right: 2px solid var(--inccolor);
	}
	.entry .cont .flex .btn a, .entry .cont .flex .btn a span::before {
		background: var(--inccolor);
	}
	.entry .cont .flex .btn a:hover{
		color: var(--inccolor);
	}
	.entry .cont .flex .btn a span::before{
		width: 3.4rem;
	}

	.entry .cont .inner .privacy a:hover {
		opacity: .7;
	}
	.entry .cont .inner .privacy .icon{
		width: 1.2rem;
		height: 1.2rem;
		margin-left: .5rem;
		transition: all .3s ease 0s;
	}
	.entry .cont .inner .pattern {
		justify-content: space-between;
		align-items: stretch;
		margin-bottom: 4rem;
	}
	.entry .cont .inner .pattern .item {
		width: 58.8rem;
		height: auto;
		padding: 2rem 3rem;
	}
	.entry .cont .inner .pattern .item .head-area {
		align-items: center;
		margin: 0 0 2rem -3.6rem;
	}
	.entry .cont .inner .pattern .item .head-area .head {
		font-size: 2.4rem;
		padding: 1.4rem 2rem 1rem;
		margin-right: 2rem;
	}
	.entry .cont .inner .pattern .item .head-area .head::after {
		bottom: -.6rem;
		border-width: 0 .6rem .6rem 0;
	}
	.entry .cont .inner .pattern .item .head-area .gift {
		font-size: 1.9rem;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
	}
	.entry .cont .inner .pattern .item .head-area .gift span {
		font-size: 2rem;
	}
	.entry .cont .inner .pattern .item .head-area .gift b {
		font-size: 2.6rem;
	}
	.entry .cont .inner .pattern .item h3 {
		font-size: 2.6rem;
		margin-bottom: 1.4rem;
	}
	.entry .cont .inner .pattern .item h3 span {
		width: 1.2rem;
		height: 1.2rem;
		margin: 0 1.5rem .5rem 0;
	}
	.entry .cont .inner .pattern .item h3 span::before {
		bottom: -.3rem;
		right: -.3rem;
		width: 100%;
		height: 1px;
	}
	.entry .cont .inner .pattern .item h3 span::after {
		top: .3rem;
		right: -.3rem;
		width: 1px;
		height: 100%;
	}
	.entry .cont .inner .pattern .item p {
		font-size: 2rem;
	}
	.entry .cont .inner .btnen {
		width: 58rem;
		margin: 0 auto 6rem;
	}
	.entry .cont .inner .btnen a {
		height: 12rem;
		padding: 4.5rem 0 0 14rem;
		font-size: 2.8rem;
	}
	.entry .cont .inner .btnen a:hover {
		background: #eef7fb;
	}
	.entry .cont .inner .btnen a b {
		font-size: 3.8rem;
	}
	.entry .cont .inner .btnen a::before {
		content: '';
		position: absolute;
		z-index: 1;
		top: 1.5rem;
		left: 2.6rem;
		width: 6.6rem;
		height: 8.8rem;
		background: url(../img/icn_mail.svg) no-repeat 100%/contain;
	}
	.entry .cont .inner .btnen a::after {
		width: 12rem;
		height: 12rem;
	}

	.entry .cont .inner .btnen a .icon{
		width: 2.8rem;
		height: 2.8rem;
		margin-left: 2rem;
		transition: all .3s ease 0s;
	}

	.entry .cont .inner .btn-wrap{
		display: flex;
		justify-content: center;
		margin-bottom: 4rem;
	}
	.entry .cont .inner .btn-wrap .btn{
		margin: 0 1rem;
		width: 44rem;
	}
	.entry .cont .inner .btn-wrap .btn a{
		border: 2px solid #fff;
		height: 8rem;
		padding: 2.8rem 2.8rem 2rem;
		font-size: 2.4rem;
	}
	.entry .cont .inner .btn-wrap .btn a::after{
		width: 7.8rem;
	}
	.entry .cont .inner .btn-wrap .btn a::before{
		border: 2px solid #fff;
		top: -2px;
		left: -2px;
		width: 102%;
		height: 102%;
	}
	.entry .cont .inner .btn-wrap .btn a span::before{
		width: 3rem;
		right: 2.4rem;
	}
	.entry .cont .inner .btn-wrap .btn a span::after{
		right: 2.4rem;
	}
	.entry .cont .inner .btn-wrap .btn.rule a{
		background: var(--inccolor);
	}
	.entry .cont .inner .btn-wrap .btn.rule a:hover{
		color: var(--inccolor);
	}
	.entry .cont .inner .btn-wrap .btn.rule a span::before{
		background: var(--inccolor);
	}
	.entry .cont .inner .btn-wrap .btn.rule a span::after{
		border-bottom: .2rem solid var(--inccolor);
		border-right: .2rem solid var(--inccolor);
	}
	.entry .cont .inner .company {
		padding: 2rem 2rem 1.8rem;
		line-height: 1;
	}
}


/*--------sp--------*/
@media screen and (max-width:767px) {
	.entry .ashi .item span {
		width: calc(100vw / 1.4);
		padding-right: 5.867vw;
	}
	.entry .cont {
		background: url(../img/bg_entry.jpg) no-repeat center 100%/cover;
		margin-top: -5.8vw;
		padding: 12vw 4.5% 9.333vw;
	}
	.entry .cont .inner .ttl h2 {
		font-size: 5.6vw;
		margin-bottom: 4.5%;
	}
	.entry .cont .inner .ttl .lead {
		font-size: 4vw;
		line-height: 1.3;
		margin-bottom: 6%;
	}
	.entry .cont .inner .privacy {
		padding: 3vw 3vw 2.5vw;
		font-size: 3.2vw;
		text-align: justify;
		line-height: 1.3;
		margin-bottom: 10%;
	}
	.entry .cont .inner .privacy .icon{
		width: 2.8vw;
		height: 2.8vw;
		margin-left: .8vw;
	}
	.entry .cont .inner .pattern {
		flex-direction: column;
	}
	.entry .cont .inner .pattern .item {
		width: 100%;
		margin-bottom: 9%;
	}
	.entry .cont .inner .pattern .item .head-area {
		flex-direction: column;
		margin-top: -2.933vw;
	}
	.entry .cont .inner .pattern .item .head-area .head {
		padding: 2.133vw 4vw 1.6vw;
		margin: 0 0 3% -1.5vw;
	}
	.entry .cont .inner .pattern .item .head-area .head::after {
		bottom: -1.5vw;
		border-width: 0 1.5vw 1.5vw 0;
	}
	.entry .cont .inner .pattern .item .head-area .gift {
		padding: 0 4vw 4vw;
		font-size: 4vw;
	}
	.entry .cont .inner .pattern .item .head-area .gift b {
		font-size: 5.34vw;
	}
	.entry .cont .inner .pattern .item h3 {
		padding: 0 4vw 2%;
		font-size: 5.07vw;
	}
	.entry .cont .inner .pattern .item h3 span {
		width: 2.667vw;
		height: 2.667vw;
		margin: 0 2vw 1.5vw 0;
	}
	.entry .cont .inner .pattern .item h3 span::before {
		bottom: -.5vw;
		right: -.5vw;
		width: 100%;
		height: 1px;
	}
	.entry .cont .inner .pattern .item h3 span::after {
		top: .5vw;
		right: -.5vw;
		width: 1px;
		height: 100%;
	}
	.entry .cont .inner .pattern .item p {
		padding: 0 4vw 4vw;
		font-size: 4vw;
	}
	.entry .cont .inner .btnen {
		width: 90%;
		margin: 0 auto 6%;
	}
	.entry .cont .inner .btnen a {
		height: 16vw;
		padding: 6vw 0 0 18.667vw;
		font-size: 3.74vw;
	}
	.entry .cont .inner .btnen a b {
		font-size: 5.07vw;
	}
	.entry .cont .inner .btnen a::before {
		content: '';
		position: absolute;
		z-index: 1;
		top: 2.5vw;
		left: 3.74vw;
		width: 8.8vw;
		height: 11.733vw;
		background: url(../img/icn_mail.svg) no-repeat 100%/contain;
	}
	.entry .cont .inner .btnen a::after {
		width: 16vw;
		height: 16vw;
	}
	.entry .cont .inner .btnen a .icon{
		width: 4.27vw;
		height: 4.27vw;
		margin-left: 2vw;
	}
	.entry .cont .inner .company {
		padding: 3vw 3vw 2.5vw;
		font-size: 3.47vw;
		line-height: 1.3;
	}

	/* btn */
	.entry .cont .inner .btn-wrap {
		margin-bottom: 9%;
	}
	.entry .cont .inner .btn-wrap .btn{
		margin-bottom: 1rem;
	}
	.entry .cont .inner .btn-wrap .btn a{
		border: 1px solid #fff;
	}
	.entry .cont .inner .btn-wrap .btn a::before{
		border: 1px solid #fff;
	}
	.entry .cont .inner .btn-wrap .btn.rule a{
		background: var(--inccolor);
	}
	.entry .cont .inner .btn-wrap .btn.rule a span::before{
		background: var(--inccolor);
	}
	.entry .cont .inner .btn-wrap .btn.rule a span::after{
		border-bottom: .2rem solid var(--inccolor);
		border-right: .2rem solid var(--inccolor);
	}
}
/*------------------------
footer
------------------------*/
/*--------共通--------*/
footer .copy {
	background: var(--txtcolor);
	text-align: center;
	color: #fff;
	line-height: 1;
}
/*--------pc--------*/
@media screen and (min-width:768px) {
	footer .copy {
		padding: 20px;
		font-size: 1.4rem;
	}
}
/*--------sp--------*/
@media screen and (max-width:767px) {
	footer .copy {
		padding: 3%;
		font-size: 3.2vw;
	}
}
/*------------------------
エフェクト
------------------------*/
.bounce {
		animation: bounce 1.5s 1s ease-in infinite alternate;
}
@keyframes bounce {
	0% {
		transform: rotate(0);
	}
	60% {
		transform: rotate(-1deg);
	}
	100% {
		transform: rotate(2deg) translateY(-10px);

	}
}



/*------------------------
後続共通
------------------------*/
/*--------共通--------*/
#top-ttl {
	position: relative;
	background: url(../img/rule/topttl_rule.jpg) no-repeat center;
	background-size: cover;
}
#breadcrumb {
	z-index: 100;
	position: relative;
}
#breadcrumb li{
	float: left;
}
#breadcrumb li a {
	color: #fff;
	display: inline-block;
}
#breadcrumb li::before{
	display: inline-block;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	vertical-align: 1px;
}
/* ページタイトル */
#top-ttl .page-ttl{
	position: relative;
	z-index: 20;
}
#top-ttl .page-ttl .ef{
	color: #fff;
	font-weight: normal;
	display: block;
}
#top-ttl .page-ttl h1{
	color: #fff;
	line-height: 1;
	font-weight: 500;
}


/*--------pc--------*/
@media screen and (min-width:768px) {
	#top-ttl {
		margin-top: 11.8rem;
	}
	#top-ttl .inner {
		max-width: 120rem;
		margin: 0 auto;
		padding: 2rem 0 12.5rem;
	}

	/*パンくず*/
	#breadcrumb {
		margin: 0 auto 11rem;
		overflow: hidden;
	}
	#breadcrumb li a {
		font-size: 1.2rem;
	}
	#breadcrumb li::before{
		content: '';
		width: .6rem;
		height: .6rem;
		margin: auto 1rem 0 1rem;
	}
	#breadcrumb li:first-child::before{
		content:none;
	}
	#top-ttl .page-ttl .ef{
		font-size: 12.4rem;
		margin-bottom: 2rem;
		padding-bottom: 1.2rem;
		line-height: .7;
		letter-spacing: -.04em;
	}
	#top-ttl .page-ttl h1{
		font-size: 2.6rem;
	}
}
/*--------sp--------*/
@media screen and (max-width:767px) {
	#top-ttl {
		margin-top: 13.87vw;
	}
	#top-ttl .inner {
		padding: 2vw 4.5% 13.33vw;
	}

	/*パンくず*/
	#breadcrumb {
		margin: 0 auto 8vw;
		overflow: hidden;
	}
	#breadcrumb li a {
		font-size: 3.2vw;
	}
	#breadcrumb li::before{
		content: '';
		width: 1.6vw;
		height: 1.6vw;
		margin: auto 2vw 0 2vw;
	}
	#breadcrumb li:first-child::before{
		content:none;
	}
	#top-ttl .page-ttl .ef{
		font-size: 21.33vw;
		margin-bottom: 2vw;
		line-height: 1;
		letter-spacing: -.04em;
	}
	#top-ttl .page-ttl h1{
		font-size: 5.33vw;
		letter-spacing: .075em;
	}
}

