@charset "UTF-8";
html {scroll-behavior: smooth;}
/* PC ================================================== */
@media all and (min-width:768px) {
	* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}
	.sp_only {
		display: none!important;
	}
	img {
		vertical-align: top;
	}
    body {
        font-family: "Noto Sans JP", "Zen Kaku Gothic New", sans-serif , "Zen Maru Gothic", sans-serif;
        font-weight: 400;
        background: #fff;
        color: #000;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        width: 100%;
		overflow-x: hidden;
    }
	.loading {
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0px;
        left: 0px;
        background: #fff;
        z-index: 9998;
    }
    .loader {
        position: fixed;
        top: 50%;
        left: 50%;
        width: 38px;
        height: 38px;
        margin-top: -19px;
        margin-left: -19px;
        text-align: center;
        z-index: 9999;
    }
	.w100per {
		width: 100vw;
	}
	.w1000 {
		width: 1000px;
	}
	.w889 {
		width: 889px;
	}
	h1 {
		line-height: 0;
	}
	
	
	/* ヘッダー ================================================== */
	
	header {
		width: 1095px;
        background: #fff;
        position: relative;
        top: 0;
        left: 0;
		text-align: center;
		margin: 0 auto;
		padding: 56px 0 50px;
    }
	h1 img {
		width: 647px;
		margin-bottom: 39px;
	}
	header ul {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
	}
	header ul li {
		list-style: none;
		background-color: #d8f2ff;
		padding: 3px 30px 6px;
		border-radius: 100px;
	}
	header ul li a {
		text-decoration: none;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 20px;
		font-weight: 500;
		color: #003381;
	}
	header li:not(:last-child) {
		margin-right: 16px;
	}
	
	
	/* KV ================================================== */
	
	#kv {
		background-color: #FBED02;
		padding-bottom: 89px;
	}
	.kv {
		margin: 0 auto;
		text-align: center;
		position: relative;
	}
	#kv picture img {
		width: 100%;
		margin-bottom: 29px;
	}
	#kv .bub img {
		width: 279px;
		position: absolute;
		right: -30px;
		bottom: -53px;
	}
	#kv .button a img {
		width: 243px;
	}
	#kv .button a:first-child {
		margin-right: 34px;
	}
	
	
	/* message ================================================== */
	
	#message {
		background-color: #FBED02;
		padding-bottom: 114px;
	}
	.message {
		margin: 0 auto;
		text-align: center;
		position: relative;
	}
	#message picture img {
		width: 100%;
	}
	#message ul {
		list-style: none;
	}
	#message li img {
		position: absolute;
	}
	#message li:first-child img {
		width: 299px;
		top: -176px;
		left: -128px;
	}
	#message li:nth-child(2) img {
		width: 334px;
		top: 327px;
		right: -155px;
	}
	#message li:nth-child(3) img {
		width: 259px;
		bottom: 395px;
		left: -141px;
	}
	#message li:nth-child(4) img {
		width: 332px;
		bottom: -88px;
		right: -158px;
	}
	#message li:nth-child(5) img {
		width: 279px;
		top: -37px;
		right: -209px;
	}
	#message li:nth-child(6) img {
		width: 279px;
		top: 294px;
		left: -217px;
	}
	#message li:nth-child(7) img {
		width: 279px;
		bottom: 379px;
		right: -209px;
	}
	#message li:nth-child(8) img {
		width: 279px;
		bottom: -21px;
		left: -236px;
	}
	#message li:nth-child(n+5) img {
		opacity: 0.5;
	}
	#message a img{
		width: 521px;
		margin: 0 auto;
		position: absolute;
		bottom: 83px;
		right: 0;
		left: 0;
	}
	
	
	
	/* prize ================================================== */
	
	#prize {
		background-color: #FBED02;
	}
	.prize {
		margin: 0 auto;
	}
	.prize-title {
		text-align: center;
		position: relative;
		margin-bottom: 90px;
	}
	.prize-title picture img {
		width: 100%;
	}
	.prize-title .bub img:first-child {
		position: absolute;
		top: -9px;
		left: -21px;
		width: 118px;
	}
	.prize-title .bub img:last-child {
		position: absolute;
		top: -17px;
		right: -13px;
		width: 80px;
	}
	#prize ul {
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#prize ul li {
		position: relative;
	}
	#prize ul li img:first-child {
		position: relative;
		width: 412px;
		z-index: 10;
	}
	#prize ul li:not(:last-child) img:nth-child(2) {
		position: absolute;
		width: 101px;
		top: -43px;
		left: -15px;
		z-index: 11;
	}
	#prize ul li:last-child img:nth-child(2) {
		position: absolute;
		width: 189px;
		top: -26px;
		left: -13px;
		z-index: 11;
	}
	#prize ul li img:nth-child(3) {
		position: absolute;
		width: 238px;
		top: -90px;
		left: -70px;
		z-index: 9;
	}
	#prize ul li:not(:last-child) {
		margin-bottom: 60px;
	}
	#prize ul li:last-child {
		margin: 39px auto;
	}
	#prize p {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 18px;
		font-weight: 500;
		color: #003b90;
		text-align: center;
		margin-bottom: 81px;
	}
	#prize .wave img {
		overflow-x: hidden;
	}
	
	
	
	/* milk ================================================== */
	
	#milk {
		background-color: #fdfaf4;
		padding: 96px 0 80px;
		position: relative;
	}
/*
	#milk .wave img {
		height: 46px;
		position: absolute;
		top: -46px;
		right: 0;
		left: 0;
		margin: 0 auto;
	}
*/
	.milk {
		text-align: center;
		margin: 0 auto;
		position: relative;
	}
	.miku img {
		position: absolute;
		left: -89px;
		bottom: -80px;
		width: 222px;
	}
	#milk .title {
		position: relative;
		margin-bottom: 55px;
		
	}
	#milk .title img:first-child {
		width: 503px;
		margin-bottom: 42px;
		position: relative;
		z-index: 11;
	}
	#milk .title img:nth-child(2) {
		width: 238px;
		position: absolute;
		top: -77px;
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 9;
	}
	#milk .title p {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 18px;
		font-weight: 500;
		color: #003b90;
		position: relative;
		z-index: 11;
	}
	#milk .content picture img {
		width: 100%;
		margin-bottom: 67px;
	}
	#milk .content p {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 18px;
		font-weight: 500;
		color: #003b90;
		line-height: 2;
	}
	#milk .content p span {
		font-size: 16px;
	}
	
	
	/* apply ================================================== */
	
	#apply {
		background-color: #FBED02;
		padding-bottom: 92px;
	}
	.apply {
		margin: 0 auto;
		text-align: center;
		padding-top: 105px;
	}
	#apply h2 {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 41px;
		font-weight: 600;
		color: #fff;
		padding: 30px 0 30px;
		background-image: url("../img/sec3_dot.jpg");
		background-repeat: repeat;
		text-align: center;
	}
	#apply ul {
		display: block;
		list-style: none;
	}
	#apply li {
		position: relative;
	}
	#apply li:not(:last-child) {
		margin-bottom: 64px;
	}
	#apply li picture img {
		width: 895px;
	}
	#apply li .bub img:first-child {
		position: absolute;
		top: -27px;
		left: -14px;
		width: 115px;
	}
	#apply li .bub img:nth-child(2) {
		position: absolute;
		top: -59px;
		right: 52px;
		width: 90px;
	}
	
	
	/* accordion ================================================== */
	
	#overview {
		padding: 82px 0 68px;
	}
	#overview .accordion {
		width: 80%;
		max-width: 1200px;
		margin: 0 auto;
	}
	#overview .accordion__item {
		border: 3px solid #22a8e4;
		cursor: pointer;
	}
	#overview .accordion__item:not(:last-child) {
		margin-bottom: 23px;
	}
	#overview .accordion__title {
		font-family: "Zen Maru Gothic", serif;
		position: relative;
		font-size: 29px;
		color: #FFFFFF;
		font-weight: bold;
		letter-spacing: 0.1em;
		text-align: center;
		cursor: pointer;
		background: #22a8e4;
		padding: 9px 0 11px;
	}
	#overview .accordion__title::before,
	#overview .accordion__title::after {
		content: "";
		position: absolute;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		background-color: #FFFFFF;
		width: 25px;
		height: 2px;
		transition: all 0.3s;
	}
	#overview .accordion__title::after {
		transform: rotate(90deg);
	}
	#overview .accordion__content {
		padding: 26px 30px 54px 30px;
		font-weight: 600;
		display: none;
		cursor: pointer;
	}
	.accordion__content p {
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 400;
		font-size: 16px;
		color: #003381;
		line-height: 1.667;
	}
	.accordion__content p span {
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 600;
		color: #e2007d;
	}
	#overview .accordion__content.is-open {
		display: block;
	}
	#overview .accordion__item.is-active .accordion__title::before {
		transform: rotate(180deg);
	}
	#overview .accordion__item.is-active .accordion__title::after {
		transform: rotate(180deg);
		opacity: 0;
	}
	#overview .accordion__content {
		display: none;
	}
	#overview .accordion__content.is-open {
		display: block;
	}
	
	
	/* footer ================================================== */
	
	footer {
		padding-bottom: 44px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	footer picture img {
		width: 490px;
		margin-right: 30px;
	}
	footer ul {
		list-style: none;
		display: flex;
		margin-right: 51px;
	}
	footer li:first-child img {
		width: 53px;
		margin-right: 24px;
	}
	footer li:nth-child(2) img {
		width: 53px;
		margin-right: 28px;
	}
	footer li:nth-child(3) img {
		width: 53px;
		margin-right: 29px;
	}
	footer li:nth-child(4) img {
		width: 49px;
	}
	footer .love img:first-child {
		width: 264px;
	}
}
	
	
	
	
	/* SP ================================================== */
	
@media all and (max-width:767px) {
	* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}
	.pc_only {
		display: none!important;
	}
	img {
		vertical-align: top;
	}
    body {
        font-family: "Noto Sans JP", "Zen Kaku Gothic New", sans-serif , "Zen Maru Gothic", sans-serif;
        font-weight: 400;
        background: #fff;
        color: #000;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        width: 100%;
		overflow-x: hidden;
    }
	.loading {
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0px;
        left: 0px;
        background: #fff;
        z-index: 9998;
    }
    .loader {
        position: fixed;
        top: 50%;
        left: 50%;
        width: 38px;
        height: 38px;
        margin-top: -19px;
        margin-left: -19px;
        text-align: center;
        z-index: 9999;
    }
	
	
	/* ヘッダー ================================================== */
	
	header {
        background: #fff;
        position: relative;
        top: 0;
        left: 0;
		text-align: center;
		margin: 0 auto;
		padding: 26px 0 19px;
    }
	h1 {
		line-height: 0;
	}
	h1 img {
		width: 257px;
		margin-bottom: 20px;
	}
	header ul {
		width: 330px;
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto;
		justify-content: space-between;
	}
	header ul li {
		list-style: none;
		background-color: #d8f2ff;
		padding: 0px 13px 4px;
		border-radius: 100px;
	}
	header li:nth-child(n+4) {
		padding: 0px 26px 4px;
	}
	header ul li a {
		text-decoration: none;
		font-family: "Zen Maru Gothic", serif;
		font-weight: 500;
		color: #003381;
		font-size: 13px;
	}
	header li:nth-child(-n+3) {
		margin-bottom: 7px;
	}
	
	
	/* KV ================================================== */
	
	#kv {
		background-color: #FBED02;
		padding: 41px 0 40px;
	}
	.kv {
		margin: 0 auto;
		text-align: center;
		position: relative;
	}
	#kv picture img {
		width: 350px;
		margin-bottom: 20px;
	}
	#kv .bub img {
		width: 134px;
		position: absolute;
		right: 13px;
		bottom: -4px;
		z-index: 9;
	}
	#kv .button a img {
		width: 140px;
	}
	#kv .button a:nth-child(3) {
/*		margin-right: 22px;*/
		margin-right: 17px;
	}
	#kv .button a:nth-child(4) {
		position: relative;
		z-index: 11;
	}
	
	
	/* message ================================================== */
	
	#message {
		background-color: #FBED02;
/*		padding-bottom: 64px;*/
		padding-bottom: 92px;
		overflow-x: hidden!important;
	}
	.message {
		margin: 0 auto;
		text-align: center;
		position: relative;
	}
	#message picture img {
		width: 327px;
		position: absolute;
		left: 0;
		right: 0;
		top: 234px;
		margin: 0 auto;
		z-index: 11;
	}
	#message p img {
		width: 350px;
		z-index: 10;
	}
	#message ul {
		list-style: none;
		z-index: 9;
	}
	#message li img {
		position: absolute;
	}
	#message li:nth-child(6) img {
		width: 142px;
		top: 292px;
		left: -74px;
	}
	#message li:nth-child(7) img {
		width: 142px;
		top: 434px;
		right: -52px;
	}
	#message li:nth-child(8) img {
		width: 142px;
		bottom: 319px;
		left: -50px;
	}
	#message li:nth-child(n+5) img {
		opacity: 0.5;
	}
	#message a img{
		width: 264px;
		margin: 0 auto;
		position: absolute;
		bottom: 31px;
		right: 0;
		left: 0;
	}
	
	
	/* prize ================================================== */
	
	#prize {
		background-color: #FBED02;
/*		padding-bottom: 47px;*/
	}
	.prize {
		margin: 0 auto;
	}
	.prize-title {
		text-align: center;
		position: relative;
		width: 322px;
		margin: 0 auto;
		margin-bottom: 57px;
	}
	.prize-title picture img {
		width: 100%;
		position: relative;
		z-index: 11;
	}
	.prize-title .bub img:first-child {
		position: absolute;
		top: -32px;
		left: 6px;
		width: 49px;
	}
	.prize-title .bub img:last-child {
		position: absolute;
		top: -36px;
		right: 13px;
		width: 36px;
	}
	#prize ul {
		list-style: none;
		display: block;
		margin-bottom: 27px;
		text-align: center;
	}
	#prize ul li {
		position: relative;
		width: 303px;
		margin: 0 auto;
	}
	#prize ul li img:first-child {
		position: relative;
		width: 100%;
		z-index: 10;
	}
	#prize ul li:not(:last-child) img:nth-child(2) {
		position: absolute;
		width: 74px;
		top: -31px;
		left: -11px;
		z-index: 11;
	}
	#prize ul li:last-child img:nth-child(2) {
		position: absolute;
		width: 139px;
		top: -24px;
		left: -9px;
		z-index: 11;
	}
	#prize ul li img:nth-child(3) {
		position: absolute;
		width: 157px;
		top: -74px;
		left: -43px;
		z-index: 9;
	}
	#prize ul li:not(:last-child) {
		margin-bottom: 48px;
	}
	#prize ul li:last-child {
		margin: 0 auto;
	}
	#prize p {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 13px;
		font-weight: 500;
		color: #003b90;
		text-align: center;
		margin-bottom: 47px;
	}
	#prize .wave img {
		overflow-x: hidden;
		display: block;
		width: 100vw;
	}
	
	
	
	/* milk ================================================== */
	
	#milk {
		background-color: #fdfaf4;
		padding: 54px 0 141px;
		position: relative;
		height: 1288.97px;
	}
/*
	#milk .wave img {
		height: 16px;
		position: absolute;
		top: -16px;
		right: 0;
		left: 0;
		margin: 0 auto;
	}
*/
	.milk {
		text-align: center;
		margin: 0 auto;
		position: relative;
	}
	.miku img {
		position: absolute;
		left: 0;
		right: 0;
		bottom: -141px;
		margin: 0 auto;
		width: 126px;
	}
	#milk .title {
		position: relative;
		margin-bottom: 24px;
	}
	#milk .title img:first-child {
		width: 286px;
		margin-bottom: 42px;
		position: relative;
		z-index: 11;
	}
	#milk .title img:nth-child(2) {
		width: 135px;
		position: absolute;
		top: -43px;
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 9;
	}
	#milk .title p {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 13px;
		font-weight: 500;
		color: #003b90;
		position: relative;
		z-index: 11;
	}
	#milk .content picture img {
		width: 295px;
		margin-bottom: 38px;
	}
	#milk .content p {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 14px;
		font-weight: 500;
		color: #003b90;
		line-height: 2;
	}
	#milk .content p span {
		font-size: 13px;
	}
	
	
	/* apply ================================================== */
	
	#apply {
		background-color: #FBED02;
		padding-bottom: 25px;
	}
	.apply {
		margin: 0 auto;
		text-align: center;
		padding-top: 34px;
		width: 320px;
	}
	#apply h2 {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 22px;
		font-weight: 600;
		color: #fff;
		padding: 24px 0 29px;
		background-image: url("../img/sec3_dot.jpg");
		background-repeat: repeat;
		text-align: center;
	}
	#apply ul {
		display: block;
		list-style: none;
	}
	#apply li {
		position: relative;
	}
	#apply li:not(:last-child) {
		margin-bottom: 26px;
	}
	#apply li picture img {
		width: 320px;
	}
	#apply li .bub img:first-child {
		position: absolute;
		top: -16px;
		left: -11px;
		width: 52px;
	}
	
	
	/* accordion ================================================== */
	
	#overview {
		padding: 32px 0 31px;
	}
	#overview .accordion {
		width: 325px;
		margin: 0 auto;
	}
	#overview .accordion__item {
		border: 2px solid #22a8e4;
		margin-bottom: 12px;
		cursor: pointer;
	}
	#overview .accordion__title {
		font-family: "Zen Maru Gothic", serif;
		position: relative;
		font-size: 18px;
		color: #FFFFFF;
		font-weight: bold;
		letter-spacing: 0.05em;
		text-align: center;
		cursor: pointer;
		background: #22a8e4;
		padding: 3px 0 5px;
	}
	#overview .accordion__title::before,
	#overview .accordion__title::after {
		content: "";
		position: absolute;
		right: 10px;
		top: 0;
		bottom: 0;
		margin: auto 0;
		background-color: #FFFFFF;
		width: 16px;
		height: 1px;
		transition: all 0.3s;
	}
	#overview .accordion__title::after {
		transform: rotate(90deg);
	}
	#overview .accordion__content {
		padding: 11px 15px 20px 15px;
		line-height: 1.7em;
		font-weight: 600;
		display: none;
		cursor: pointer;
	}
	.accordion__content p {
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 500;
		font-size: 13px;
		line-height: 1.6;
		color: #003381;
	}
	.accordion__content p span {
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 600;
		color: #e2007d;
	}
	#overview .accordion__content.is-open {
		display: block;
	}
	#overview .accordion__item.is-active .accordion__title::before {
		transform: rotate(180deg);
	}
	#overview .accordion__item.is-active .accordion__title::after {
		transform: rotate(180deg);
		opacity: 0;
	}
	#overview .accordion__content {
		display: none;
	}
	#overview .accordion__content.is-open {
		display: block;
	}
	
	
	/* footer ================================================== */
	
	footer {
		padding-bottom: 29px;
		display: flex;
		flex-flow: column;
		justify-content: center;
		text-align: center;
	}
	footer picture img {
		width: 74px;
		margin-bottom: 15px;
	}
	footer ul {
		list-style: none;
		display: flex;
		margin-bottom: 23px;
		justify-content: center;
	}
	footer li:first-child img {
		width: 34px;
		margin-right: 33px;
	}
	footer li:nth-child(2) img {
		width: 34px;
		margin-right: 35px;
	}
	footer li:nth-child(3) img {
		width: 34px;
		margin-right: 37px;
	}
	footer li:nth-child(4) img {
		width: 30px;
	}
	footer .love img {
		display: block;
		margin: 0 auto;
	} 
	footer .love img:first-child {
		width: 150px;
		margin-bottom: 18px;
	}
	footer .love img:last-child {
		width: 176px;
	}
}
