
@charset "utf-8";

/* 20周年　LP
-------------------------------------------------------------------- */

/* -------------------------
    reset
------------------------- */

div,p,h1,h2,h3,h4,h5,h6,tr,th,td,dl,dt,dd,a
	{
	margin: 0px;
	padding: 0px;
	font-size:100%;
	line-height:1.6;
    box-sizing: border-box;
    word-break: break-all;
	}

form
	{
	margin: 0px;
	padding: 0px;
	}

ul,ol,li
	{
	list-style-type:none;
	margin: 0px;
	padding: 0px;
	}

table
	{
	border-collapse:collapse;
	margin:0;
	padding:0;
	font-size:100%;
	}

table
	{
	font-size:100%;
	}

tr
	{
	vertical-align:top;
	}

input
	{
	font-size:100%;
	margin:0;
	}

img
	{
    width: 100%;
	height: auto;
	border: 0;
	margin:0;
	padding:0;
	vertical-align:top;
	}

button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

/* -------------------------
    base
------------------------- */

* html {
    filter: expression(document.execCommand("BackgroundImageCache", false, true));
}

body
	{
	color:#222;
	font-size:82.5%;
	font-size:12px;
	line-height:1.5;
	margin:0px;
	padding:0px;
	text-align:center;
	font-family:"ＭＳ Ｐゴシック",Hiragino Kaku Gothic Pro,"ヒラギノ角ゴ Pro",sans-serif;
	}

br
	{
	letter-spacing:0px;
	}

.cp2509
	{
    width: 100%;
	text-align: center;
	overflow-x: hidden;
	}

.cp2509 .content
	{
	position:relative;
    width: 100%;
	max-width: 990px;
	margin: 0px auto;
    padding: 0 15px;
	text-align:left;
	}

/* pc/sp block */
.pc-v {
    display: none;
}

.sp-v {
    display: block;
}

@media (min-width: 768px), print {
    .pc-v {
        display: block;
    }

    .sp-v {
        display: none;
    }
}

/* a:hover img */
@media (min-width: 768px), print {
    a img,
    button img {
        transition: opacity .3s;
    }

    a:hover img,
    button:hover img {
        opacity: .8;
    }
}

/* 汎用 remarks */
.remarks {
    margin-top: 16px;
	font-size: 13px;
	line-height: 1.46;
}

.remarks li {
    padding-left: 1.5em;
    text-indent: -.75em;
}

.remarks li::before {
    content: '※';
    display: inline-block;
    margin-right: .5em;
}

.remarks li + li {
    margin-top: 5px;
}

@media (min-width: 768px), print {
    .remarks {
        font-size: 15px;
    }
}

/* 汎用 list */
.list {
    font-size: 15px;
}

.list li {
    padding-left: 1.5em;
    text-indent: -.75em;
}

.list li::before {
    content: '・';
    display: inline-block;
    margin-right: .5em;
}

.list li + li {
    margin-top: 5px;
}

@media (min-width: 768px), print {
    .list {
        font-size: 17px;
    }
}

/* -------------------------
    layout
------------------------- */

/* header */
.header .header__logo {
    width: 57.97%;
}

@media (min-width: 768px), print {
    .header {
        padding-top: 20px;
        margin-bottom: 10px;
    }

    .header .header__logo {
        width: 225px;
    }
}

/* hero */
.hero {
    margin-bottom: 30px;
}

.hero .hero__title {
    margin-bottom: 10px;
}

.hero__mainvis {
    margin-bottom: 30px;
}

.hero__mainvis-vis {
    margin-bottom: 15px;
}

@media (min-width: 768px), print {
    .hero {
        margin-bottom: 45px;
    }

    .hero .hero__title {
        margin-bottom: 25px;
    }

    .hero__mainvis {
        display: flex;
    }

    .hero__mainvis-vis,
    .hero__mainvis-text {
        width: 50%;
    }

    .hero__mainvis-vis {
        margin-bottom: 0;
    }
}

/* campaign */
.campaign {
    margin-bottom: 40px;
}

.campaign__title {
    margin-bottom: 36px;
}

.campaign__item {
    border: 2px solid #002169;
}

.campaign__item-title {
    width: 72.46%;
    padding: 4px 12px 7px;
    margin-inline: auto;
    background-color: #fff;
    transform: translateY(-16px);
}

.campaign__item-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 26px;
    padding: 35px 20px;
}

.campaign__item-list li {
    width: calc(50% - 13px);
}

.campaign__prize {
    margin-top: 40px;
}

@media (max-width: 767px) {
    .campaign__prize-item + .campaign__prize-item {
        margin-top: 33px;
    }
}

@media (min-width: 768px), print {
    .campaign {
        margin-bottom: 60px;
    }

    .campaign__title {
        width: 832px;
        margin: 0 auto 36px;
    }

    .campaign__item-title {
        width: 320px;
        padding: 3px 15px 5px;
        transform: translateY(-18px);
    }

    .campaign__item-list {
        justify-content: space-between;
        gap: 0;
        padding: 0 80px 20px;
    }

    .campaign__item-list li {
        width: 200px;
    }

    .campaign__prize {
        display: flex;
        justify-content: space-between;
        margin-top: 30px;
    }

    .campaign__prize-item {
        width: calc(50% - 8px);
    }
}

/* form */
.form .form__title {
    margin-bottom: 16px;
    color: #002169;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.5;
}

.form .form__subtitle {
    margin-bottom: 10px;
    color: #002169;
}

.form .form__block {
    margin-bottom: 16px;
}

.form .campaign__description-item {
    display: flex;
}

.form .campaign__description .campaign__description-item:first-of-type {
    margin-top: 30px;
}

.form .campaign__description-label {
    white-space: nowrap;
}

.form .form__section01 {
    margin-bottom: 40px;
    font-size: 15px;
    line-height: 1.6;
}

.form .form__section01 .form__block dd {
    margin-left: 1em;
}

.form .form__section02 {
    margin-bottom: 40px;
    font-size: 13px;
}

.form .form__section02 .remarks {
    margin-top: 10px;
}

.form .terms {
    margin-top: 40px;
    margin-bottom: 90px;
}

.form .terms__link a {
    display: table;
    padding-left: 28px;
    text-indent: -28px;
    color: #002169;
    font-size: 17px;
    font-weight: bold;
    text-decoration: none;
}

.form .terms__link i {
    transform: translateY(-0.15em);
    vertical-align: middle;
}

.form .terms__link .icon-arrow {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 10px;
    background: url(../img/icon_arrow.svg) no-repeat 0 0;
    background-size: cover;
}

.form .terms__link .icon-pdf {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-left: 10px;
    background: url(../img/icon_pdf.png) no-repeat 0 0;
    background-size: cover;
}

.form .terms__link a:hover {
    text-decoration: underline;
}

.form .terms__button {
    display: block;
    margin-top: 40px;
}

.form a {
    color: #222;
    text-decoration: none;
}

@media (min-width: 768px), print {
    .form {
        max-width: 800px;
        margin-inline: auto;
    }

    .form .form__title {
        margin-bottom: 24px;
        font-size: 18px;
    }

    .form .form__subtitle {
        font-size: 17px;
    }

    .form .form__block {
        margin-bottom: 24px;
    }

    .form .campaign__description .campaign__description-item:first-of-type {
        margin-top: 20px;
    }

    .form .form__section01 {
        margin-bottom: 60px;
        font-size: 17px;
        line-height: 1.6;
    }

    .form .form__section02,
    .form .form__section02 .remarks {
        font-size: 14px;
    }

    .form .terms {
        width: 762px;
        margin: 70px auto 40px;
    }

    .form .terms__button {
        margin-top: 37px;
    }
}

/* contact */
.contact {
    border: 2px dashed #002169;
}

.contact__title {
    display: inline-block;
    padding: 0 5px;
    margin-left: 20px;
    background-color: #fff;
    transform: translateY(-13px);
    color: #002169;
    font-size: 15px;
    font-weight: bold;
}

.contact__detail {
    padding: 0 25px 25px;
}

.contact a {
    color: #222;
    text-decoration: none;
}

@media (min-width: 768px), print {
    .contact {
        width: 640px;
        margin-inline: auto;
    }

    .contact__detail {
        padding: 0 25px 12px;
        margin-top: -10px;
    }
}

/* footer */
.footer {
    padding-bottom: 54px;
    margin-top: 30px;
}

.footer__logo {
    max-width: 43.48%;
    margin-inline: auto;
}

.footer__copyright {
    margin-top: 13px;
    font-size: 10px;
    text-align: center;
    line-height: 1;
}

@media (min-width: 768px), print {
    .footer {
        padding-bottom: 57px;
        margin-top: 40px;
    }

    .footer__logo {
        width: 150px;
    }

    .footer__copyright {
        font-size: 12px;
    }

}