/* ----------------------------------------------------------------
 01. Utility
----------------------------------------------------------------- */

/**
 * Reset
 */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	border: 0;
	box-sizing: border-box;
	font-size: 100%;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
h1, h2, h3, h4, h5, h6, p ,li {
	font-size: 100%;
	margin: 0;
	padding: 0;
}
blockquote:before, blockquote:after, q:before, q:after { content: none }
nav, ul, ol, dl { list-style: none }
blockquote, q { quotes: none }
a {
	background: transparent;
	color: inherit;
	display: block;
	font-size: 100%;
	margin: 0;
	padding: 0;
	text-decoration: none;
	vertical-align: baseline;
	outline: none;
}
input[type="text"]:focus {
  outline: none;
}

.mgb0{margin-bottom:0px!important;}
.mgb1em { margin-bottom: 1em !important; }
.mgb2em { margin-bottom: 2em !important; }
.mgb3em { margin-bottom: 3em !important; }
.mgt0{margin-top:0!important;}
.mgr0{margin-right:0!important;}
.pd0{padding:0px!important;}
.pdb0{padding-bottom:0px!important;}
.pdr0{padding-right:0px!important;}
.pdt0{padding-top: 0  !important;}

.tac{text-align:center!important;}
.tal{text-align:left!important;}
.tar{text-align:right!important;}
.taj { text-align: justify!important; }
.fwn{font-weight:normal!important;}
.wsn{white-space:nowrap!important;}
.vam{vertical-align:middle!important;}
.vat{vertical-align:top!important;}
.vab{vertical-align:bottom!important;}
.dpb{display:block!important;}
.dpi{display:inline!important;}
.dpn{display:none!important;}
.dpib{display:inline-block!important;}
.psr{position:relative!important;}
.fll{float:left!important;}
.flr{float:right!important;}
.clb{clear:both;}
.tdu{text-decoration:underline;}
.bdn{border:none!important;}
.lh0 { line-height: 0;}
.lh1_6{line-height:1.6;}
.lh1_8{line-height:1.8;}
.lh2{line-height:2;}
.ovfh{overflow:hidden;}
input[type="text"], 
input[type="password"], 
textarea, 
select {
    outline: none;
}
*:focus {
  outline: none;
}
.flexbox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}




/* font setting */

small { font-size: 80%; }
.fwb {
	font-weight: bold;
}
.fc_yel {
    color: #173d4e;
}
.fc_lightyel {
    color: #e5e2a6;
}
p,li,dt,dd,span,h1,h2,h3 {
    font-feature-settings: "palt";
}
.fc_red {
    color: #ba0437;
}
.fc_blue {
    color: #0068b7;  /* YUU add */
}
.fs15 { font-size: 1.5em;}


/* other */

.img100 {
	width: 100%;
}
.m-img100 {
	max-width: 100%;
}


.link_line {
	text-decoration: underline;
}
.link_line:hover {
	opacity: 0.6;
}

.list_disc li {
	list-style: disc outside;
	margin: 0 0 0 25px;
}




/* アニメーション　*/
.animation {
    transform: translateY(0px);
    opacity: 0; /* ← 初期状態は非表示 */
    animation-name: start_anime;
    animation-iteration-count: 1;
    animation-timing-function: ease-out;
    animation-duration: 1s;
    animation-delay: 1s; /* ← 1秒遅れて開始 */
    animation-fill-mode: both; /* ← 開始前は0%、終了後は100%の状態を保持 */
}

.animation { animation-delay: 1s; }
.animation.n2 { animation-delay: 1.3s; }
.animation.n3 { animation-delay: 1.6s; }
.animation.n4 { animation-delay: 1.9s; }
.animation.n5 { animation-delay: 2.2s; }
.animation.n6 { animation-delay: 2.5s; }
.animation.n7 { animation-delay: 2.8s; }
.animation.n8 { animation-delay: 3.1s; }
.animation.n9 { animation-delay: 3.4s; }
.animation.n10 { animation-delay: 3.7s; }

@keyframes start_anime {
  0%   { transform: translateY(10px); opacity: 0; } 
  100% { transform: translateY(0px);  opacity: 1; }
}





	
/* ==== General settings ====*/


.only_pc {
	display: none;
}
.only_sp {
	display: inherit;
}
@media only screen and (min-width: 768px) {
  .only_pc {
    display: inherit;
  }
  .only_sp {
    display: none;
  }
	.op_01 {
		transition:all .15s ease-in-out;
	}
	.op_01:hover {
		opacity: 0.6;
		transition:all .3s ease-in-out;
	}
}


.hidden_box {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
	-webkit-transform: translateY(5px);
	-moz-transform: translateY(5px);
	transform: translateY(5px);
	opacity: 0;
}
.appear {
    opacity: 1;
    transform: translateY(0);
}
@media screen and (max-width: 768px) {
        .hidden_box {
            -webkit-backdrop-filter: blur(20px);
            backdrop-filter: blur(20px);
            transform: translateY(10px);
            -webkit-transform: translateY(10px);
            -moz-transform: translateY(10px);
            opacity: 0;
        }
}

.move,
.move:hover {
	transition:all 0.3s ease-in;
}



.ul_disc li {
	margin: 0 0 1em 1em;
	list-style: disc outside;
}
.ul_disc li:last-child {
	margin: 0 0 0 1em;
}




/* ==== Structure ====*/
html{ height:100%; overflow-x: hidden;} 
body{  height:100%; } 



body {
    background: #fff;
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	color: #464646;
	height: 100%;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-style: normal;
	font-size: 13px;
	font-feature-settings: 'palt';
    font-weight: 100 !important;
	letter-spacing: 0.09em;
	line-height: 2;
	overflow-x: hidden;
	overflow-wrap: break-word;
    position: relative;
}
.all_wrap {
	position: relative;
}
@media only screen and (min-width: 768px) {
		body {
			font-size: 13px;
			position: relative;
			width: 100%;
		}
}





/* ----------------------------------------------------------------
 Menu
----------------------------------------------------------------- */

.menu-trigger,
.menu-trigger span,
.drawer-close .menu-trigger,
.drawer-close .menu-trigger span{
	cursor: pointer;
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}
.menu-trigger,
.drawer-close .menu-trigger{
    background: #267496;
	border: none;
    position: fixed; top: 0; right: 0;
    width: 40px;
    height: 40px;
	z-index: 100;
}
.menu-trigger span,
.drawer-close .menu-trigger span{
    position: absolute;
    left: 10px;
    width: 20px;
    height: 3px;
    background-color: #f5f7f8;
}
.menu-trigger span:nth-of-type(1),
.drawer-close .menu-trigger span:nth-of-type(1){
    top: 10px;
}
.menu-trigger span:nth-of-type(2),
.drawer-close .menu-trigger span:nth-of-type(2){
    top: 17px;
}
.menu-trigger span:nth-of-type(3),
.drawer-close .menu-trigger span:nth-of-type(3){
    top: 24px;
    width: 17px
}
@media screen and (min-width: 768px) {
        .menu-trigger,
        .drawer-close .menu-trigger{
            width: 70px;
            height: 70px;
        }
        .menu-trigger span,
        .drawer-close .menu-trigger span{
            left: 15px;
            width: 40px;
            height: 3px;
        }
        .menu-trigger span:nth-of-type(1),
        .drawer-close .menu-trigger span:nth-of-type(1){
            top: 19px;
        }
        .menu-trigger span:nth-of-type(2),
        .drawer-close .menu-trigger span:nth-of-type(2){
            top: 34px;
        }
        .menu-trigger span:nth-of-type(3),
        .drawer-close .menu-trigger span:nth-of-type(3){
            top: 49px;
            width: 35px
        }
}
.menu-trigger .txt,
.drawer-close .menu-trigger .txt {
    display: none;
}

.sns_wrap li:nth-child(3) {
	-webkit-animation-duration: 1.9s;
	-moz-animation-duration: 1.9s;
	animation-duration: 1.9;
}


.drawer-open .menu-trigger {
    cursor: pointer;
    position: fixed;
    top: 0px;
    right: 0%;
    height: 40px;
    width: 40px;
    z-index: 1001;
}
.drawer-open .menu-trigger span:nth-of-type(1) {
    top: 0;
	right: 0;
	width: 0px !important;
}
@media screen and (max-width: 768px) {
	.drawer-open .menu-trigger {
		width: 40px;
	}
	.drawer-open .menu-trigger span:nth-of-type(1) {
		width: 0% !important;
	}
}

.drawer-open .menu-trigger span:nth-of-type(2) {
    top: 19px;
	left: 4px;
	transform:rotate(45deg);
	width: 35px;
}
.drawer-open .menu-trigger span:nth-of-type(3) {
    top: 19px;
	transform:rotate(-45deg);
	left: 4px;
	width: 35px;
}
@media screen and (min-width: 768px) {
        .drawer-open .menu-trigger {
            height: 70px;
            width: 70px;
        }
        .drawer-open .menu-trigger span:nth-of-type(2),
        .drawer-open .menu-trigger span:nth-of-type(3){
            top: 33px;
            left: 15px;
            width: 40px;
        }
}
.drawer-open .menu-trigger .txt {
	opacity: 0;
}
.drawer-open .menu-trigger:hover span:nth-child(1),
.drawer-open .menu-trigger:hover span:nth-child(2),
.drawer-open .menu-trigger:hover span:nth-child(3){
	-webkit-animation-iteration-count: 0;
	-moz-animation-iteration-count: 0;
	animation-iteration-count: 0;
}

.drawer-nav {
	background: #267496;
    background-size: 9px,100%;
	padding: 70px 10% 0%;
	width: 100%;
}
.drawer--right .drawer-nav {
    right: -100%;
}
.drawer-menu {
	color: #fff;
    font-size: 1.25rem;
	margin: 0 0 30px;
}
.drawer-menu li {
    margin: 0 0 3em;
    text-align: right;
}
@media screen and (max-width: 768px) {
	.drawer-nav {
		width: 100%;
	}
	.drawer--right .drawer-nav {
			right: -100%;
	}
	.drawer-menu li {
		margin: 0 0 1em;
	}
	.drawer-menu li:last-child {
		margin: 0 0 0;
	}
}
@keyframes rotate1 {
0% {transform: rotateX(0deg); opacity: 100;} 
50% {transform: rotateX(20deg); opacity: 100;}
51% {transform: rotateX(180deg); opacity: 100;}
100% {transform: rotateX(360deg); opacity: 100;}
}
.drawer-overlay {
    background: none;
}




/* ========================== Content */


.all_wrap {
    padding: 40px 0% 0px;
}
@media screen and (min-width: 768px) {
        .all_wrap {
            padding: 70px 0% 0px;
        }
}

.bg_wrap {
  background-image: -moz-linear-gradient( 90deg, rgb(244,247,248) 0%, rgb(255,255,255) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(244,247,248) 0%, rgb(255,255,255) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(244,247,248) 0%, rgb(255,255,255) 100%);
  padding: 75px 0;
  width: 100%;
}
.bg_wrap.top {
    padding-top: 30px;
}
@media screen and (min-width: 768px) {
        .bg_wrap {
          padding: 150px 0;
        }
        .bg_wrap.top {
            padding-top: 0px;
        }
}

.ttl_01 {
    line-height: 0;
    margin: 0 auto 10px;
    max-width: 290.32px;
    width: 65.42%;
}
.ttl_01.size2 {
    margin: 0 auto 7.5px;
    max-width: 354.42px;
    width: 60%;
}
.ttl_01.size3 {
    margin: 0 auto 15px;
    max-width: 413.54px;
    width: 75%;
}
.ttl_01.size4 {
    margin: 0 auto 25px;
    max-width: 415.04px;
    width: 83.58%;
}
.img_top {
    line-height: 0;
    margin: 0 auto 15px;
    max-width: 508px;
    width: 70%;
}
@media screen and (min-width: 768px) {
        .ttl_01 {
            margin: 0 auto 20px;
        }
        .ttl_01.size2 {
            margin: 0 auto 15px;
        }
        .ttl_01.size3 {
            margin: 0 auto 30px;
        }
        .ttl_01.size4 {
            margin: 0 auto 50px;
        }
        .img_top {
            margin: 0 auto 30px;
        }
}

.btn_01,
.btn_02 {
    background: #173d4e;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    height: 40px;
    line-height: 40px;
    letter-spacing: 0.09em;
    margin: 0 auto 40px;
    text-align: center;
    width: 60%;
    border-radius: 25px; /* 角丸 */
    overflow: hidden;    /* 擬似要素のはみ出し防止 */
}

.btn_02 {
    height: 20px;
    line-height: 20px;
    width: 40%;
}

@media screen and (min-width: 768px) {
    .btn_01,
    .btn_02 {
        background: #173d4e;
        display: block;
        height: 50px;
        line-height: 50px;
        text-align: center;
        text-decoration: none;
        outline: none;
        color: #fff;
        margin: 0 auto;
        position: relative;
        border: 1px solid #173d4e;
        transition: color 0.5s ease;
        width: 300px;

        /* 追加 */
        border-radius: 25px;
        overflow: hidden;
    }

    .btn_01:hover,
    .btn_02:hover {
        color: #fff;
    }

    .btn_01:hover::before,
    .btn_02:hover::before {
        transform: scaleX(1);
        transform-origin: right;
    }

    .btn_01::before,
    .btn_02::before {
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: #267496;
        transform: scaleX(0);
        transform-origin: left;
        transition: all 0.5s ease;
        transition-property: transform;
        border-radius: inherit; /* 親と同じ角丸を適用 */
    }

    .btn_02 {
        height: 40px;
        line-height: 40px;
        width: 200px;
    }

    .text {
        position: relative;
    }
}

.ttl_02 {
    line-height: 0;
    margin: 0 auto 30px;
}
.ttl_02.intro {
    max-width: 284.76px;
    width: 56.85%;
}
.ttl_02.campaign {
    max-width: 199.55px;
    width: 39.84%;
}
.ttl_02.news {
    max-width: 109.12px;
    width: 21.78%;
}
.ttl_02.movie {
    max-width: 118.84px;
    width: 23.72%;
}
.h3 {
    color: #173d4e;
    font-size: 13px;
    font-weight: bold;
    margin: 0 auto 30px;
    max-width: 700px;
    width: 90%;
}
.txt_wrap_01 {
    margin: auto;
    max-width: 700px;
    text-align: left;
    width: 90%;
}
.txt_wrap_01 p {
    margin: 0 0 2em;
}
.txt_wrap_01 p:last-child {
    margin: 0;
}
@media screen and (min-width: 768px) {
        .ttl_02 {
            margin: 0 auto 60px;
        }

        .h3 {
            font-size: 16px;
            margin: 0 auto 60px;
            text-align: center;
        }
}




.footer {
    background: #184e65;
    color: #fff;
    padding: 25px 0 50px;
}
.footer .bnr {
    margin: 0 auto 35px;
    max-width: 345px;
    width: 60%;
}
.footer .link {
    color: #fff;
    margin: 0 auto 35px;
    text-align: center;
}
.footer .copy {
    color: #fff;
    font-size: 10px;
    text-align: center;
}
@media only screen and (min-width: 768px) {
        .footer {
            padding: 50px 0 100px;
        }
        .footer .bnr {
            margin: 0 auto 70px;
        }
        .footer .link {
            margin: 0 auto 70px;
        }
}




.ul_news {
    margin: 0 auto;
    max-width: 800px;
    width: 90%;
}
.ul_news li {
    margin: 0 auto 50px;
}
.ul_news li.is-hidden {
    display: none;
}
.ul_news li:last-child {
    margin: auto;
}
.ul_news li .day {
    color: #464646;
    line-height: 1;
    margin: 0 0 10px;
    text-align: center;
}
.ul_news li .ttl {
    color: #173d4e;
    font-size: 13px;
    font-weight: bold;
    line-height: 1.2;
    margin: 0 0 15px;
    text-align: center;
}
.ul_news li .txt {
    font-feature-settings: palt;
    margin: 0 auto;
    text-align: justify;
}

.opnbtn {
    background: #c5c5c5;
    clear: both;
    color: #fff;
    display: block;
    height: 40px;
    line-height: 40px;
	margin: 15px auto 0px;
    position: relative;
    text-align: center;
    width: 50%;
}

.opnbtn:after {
    content:"続きを読む";
    font-size: 12px;
    position: absolute ;
    left: 0;
    width: 100%;
}
.opnbtn.nowOpen:after {
    content:"閉じる";
}
.ul_news .switchDetail {
    padding-top: 2em;
}
.ul_news .switchDetail p {
    margin-bottom: 2em;
}
.ul_news .switchDetail p:last-child {
    margin-bottom: 0em;
}

.closeBtnHat {
    display: none !important;
}
@media screen and (min-width: 768px) {
        .bg_wrap {
            padding: 100px 0;
        }
        .ul_news li {
            margin: 0 auto 100px;
        }
        .ul_news li .day {
            margin: 0 0 20px;
        }
        .ul_news li .ttl {
            font-size: 16px;
            margin: 0 0 30px;
        }
        .ul_news li .txt {
            line-height: 2;
        }

        .opnbtn {
            font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
            height: 40px;
            line-height: 40px;
            margin: 30px auto 0px;
            position: relative;
            text-align: center;
            width: 200px;
        }

        .opnbtn:after {
            content:"続きを読む";
            font-size: 13px;
            position: absolute ;
            left: 0;
            width: 100%;
        }
        .opnbtn.nowOpen:after {
            content:"閉じる";
        }
        
        .opnbtn {
            background: #c5c5c5;
            display: block;
            text-align: center;
            text-decoration: none;
            outline: none;
            color: #fff;
            position: relative;
            border: 1px solid #c5c5c5;
            transition: color 0.5s ease;
        }
        .opnbtn:hover {
            color: #2a2a2a;
        }
        .opnbtn:hover::before {
            transform: scaleX(1);
            transform-origin: right;
        }
        .opnbtn::before {
            position: absolute;
            top: 0;
            left: 0;
            content: "";
            display: block;
            width: 100%;
            height: 100%;
            background: #fff;
            transform: scaleX(0);
            transform-origin: left;
            transition: all 0.5s ease;
            transition-property: transform;
        }
        .text {
            position: relative;
        }
}

.movie_wrap {
	margin: auto;
	max-width: 1000px;
    padding: 45% 0 0;
    position: relative;
	width: 80%;
}
.movie_wrap iframe {
    height: 100%;
    position: absolute; top: 0; left: 0;
    width: 100%;
}
@media only screen and (min-width: 768px) {
        .movie_wrap {
            padding: 41% 0 0;
        }
}




.heading {
    color: #173d4e;
    font-size: 16.5px;
    text-align: center;
    line-height: 1.2;
    margin: auto;
    max-width: 90%;
}
.heading.mg98 {
    max-width: 98%;
}
@media screen and (min-width: 768px) {
        .heading {
            font-size: 23px;
        }

}

.heading.intro {
    margin: 0 auto 25px;
    width: 100%;
}
.txt_90 {
    margin: auto;
    max-width: 800px;
    width: 90%;
}
@media screen and (min-width: 768px) {
        .heading.intro {
            margin: 0 auto 50px;
        }
}




.table_01 {
    border-collapse: collapse;
    margin: 0 auto 30px;
    max-width: 800px;
    width: 100%;
}
.table_01 th {
    background: #173d4e;
    border: solid 1px #383838;
    color: #fff;
    font-weight: bold;
    padding: 5px;
}
.table_01 td {
    border: solid 1px #383838;
    padding: 5px;
}
@media screen and (min-width: 768px) {
        .table_01 {
            margin: 0 auto 60px;
        }
}


.campaign_wrap {
    border-bottom: solid 1px #cdcdcd;
    margin: 0 auto 50px;
    max-width: 1000px;
    padding: 0 0 50px;
    width: 90%;
}
.campaign_wrap.no_line {
    border-bottom: none;
    padding: 0;
    margin: 0 auto 75px;
}
@media screen and (min-width: 768px) {
        .campaign_wrap {
            margin: 0 auto 100px;
            padding: 0 0 100px;
        }
        .campaign_wrap.no_line {
            margin: 0 auto 150px;
        }
}

.present_01 {
    margin: 0 auto 25px;
}
.present_01 .img {
    line-height: 0;
    margin: 0 auto 10px;
    max-width: 600px;
    width: 85%;
}
.present_01 .ttl {
    color: #173d4e;
    font-size: 15px;
    font-weight: bold;
    line-height: 1;
    margin: 0 0 10px;
    text-align: center;
}
.present_01 .txt {
    font-size: 11.5px;
    line-height: 1.4;
    margin: 0 0 10px;
    text-align: center;
}

.ul_present_3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto 50px;
    overflow: hidden;
}
.ul_present_3 li:first-child {
    /* margin-right: 10%; */
    margin-bottom: 15px;
}
.ul_present_3 li {
    flex-basis: auto;
    width: 50%;
}
.ul_present_3 li .ttl {
    color: #173d4e;
    font-weight: bold;
    text-align: center;
}
.ul_present_3 li .txt {
    line-height: 1.4;
    text-align: center;
    margin: 0 0 15px;
}
.ul_present_3 li .img {
    margin: 0 auto;
    width: 70%;
}
.ul_present_3.two li:first-child .img {
    width: 95%;		/* YUU add */
    margin: 0 0 0 auto;	/* YUU add */
}
@media screen and (min-width: 768px) {
        .present_01 {
            margin: 0 auto 50px;
        }
        .present_01 .img {
            margin: 0 auto 20px;
        }
        .present_01 .ttl {
            font-size: 20px;
            margin: 0 0 20px;
        }
        .present_01 .txt {
            font-size: 13px;
            margin: 0 0 20px;
        }

        .ul_present_3 {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            margin: 0 auto 100px;
            overflow: hidden;
        }
        .ul_present_3.two {
            max-width: 600px;
        }
        .ul_present_3 li:first-child {
            margin-right: 0;
            margin-bottom: 0;
        }
        .ul_present_3 li {
            width: 30%;
        }
        .ul_present_3.two li {
            width: 45%;
        }
        .ul_present_3 li .ttl {
            font-size: 13px;
        }
        .ul_present_3 li .txt {
            font-size: 11px;
            margin: 0 0 30px;
            min-height: 4.2em;
        }
        .ul_present_3.two li .txt {
            min-height: 1.4em;
        }
        .ul_present_3 li .img {
            margin: 0 auto;
            /* width: 50%;  */
        }
        .ul_present_3.two li:first-child .img {
            width: 100%;	/* YUU add */
            margin: 0 auto;	/* YUU add */
        }
}
.detail_wrap {
    font-size: 11.5px;
    text-align: center;
}
.detail_wrap .ttl {
    font-size: 13.5px;
    font-weight: bold;
}
.detail_wrap .txt {
    margin: 0 0 2em;
}
.detail_wrap .mini_ttl {
    font-weight: bold;
}
.ul_att {
    /* color: #ba0437; */
    color: #0068b7;
    text-align: left;
}
.ul_att.detail {
    color: #173d4e;
    text-align: left;
}
.ul_att li {
    line-height: 1.4;
    margin: 0 0 .5em;
    padding: 0 0 0 1em;
    position: relative;
}
.ul_att li:before {
    content: "※";
    position: absolute ;
    left: 0;
}
.detail_wrap a {
    color: #173d4e;
    text-decoration: underline;
}
.detail_wrap a.no_link {
    text-decoration: none;
    pointer-events: none;
}
@media screen and (min-width: 768px) {
        .detail_wrap {
            font-size: 13px;
        }
        .detail_wrap .ttl {
            font-size: 17px;
        }
        .ul_att,
        .ul_att.detail {
            text-align: center;
        }
        .ul_att li:before,
        .ul_att.detail li:before {
            content: "※";
            position: relative;
        }
        .ul_att.left {
            color: #ba0437;
            text-align: left;
        }
        .ul_att.left li:before {
            content: "※";
            position: absolute ;
            left: 0;
        }
}

.campaign_detail {
    background: #ededed;
    margin: 0 auto;
    max-width: 1000px;
    padding: 40px 5%;
    width: 90%;
}
@media screen and (min-width: 768px) {
.campaign_detail {
            padding: 100px 100px;
            width: 90%;
        }
}
.detail_wrap2 {
    margin: 0 0 25px;
}
.detail_wrap2 img {
    line-height: 0;
    margin: 0 0 25px;
    width: 100%;
}
.detail_wrap2 p {
    margin-bottom: 2em;
    text-align: justify;
}
.detail_wrap2 p .link {
    color: #e5e2a6;
}
@media screen and (min-width: 768px) {
        .detail_wrap2 {
            margin: 0 0 50px;
        }
        .detail_wrap2 img {
            margin: 0 0 50px;
        }
}

.detail_wrap3 {
    margin: 0 0 50px;
    text-align: center;
}
.detail_wrap3 .cat {
    font-size: 12px;
    margin: 0 0 .5em;
    text-align: center;
}
.detail_wrap3 .cat span {
    background: #267496;
    border: solid 1px #267496;
    color: #fff;
    padding: 3px 5px 1px;
}
.heading4 {
    color: #173d4e;
    font-size: 13.5px;
    font-weight: bold;
}
.detail_wrap3 p {
    margin: 0 0 25px;
}
.detail_wrap3 a {
    color: #173d4e;
    text-decoration: underline;
}
.detail_wrap3 a.no_link {
    pointer-events: none;
    text-decoration: none;
}
@media screen and (min-width: 768px) {
        .detail_wrap3 {
            margin: 0 0 100px;
        }
        .detail_wrap3 .cat {
            font-size: 14px;
            margin: 0 0 1em;
        }
        .detail_wrap3 .cat span {
            border: solid 1px #efefef;
            color: #efefef;
            padding: 3px 5px;
        }
        .heading4 {
            font-size: 17px;
            font-weight: bold;
        }
        .detail_wrap3 p {
            margin: 0 0 25px;
        }
}

.ul_num {
    margin: 0 auto 25px;
    max-width: 700px;
    width: 90%;
}
.ul_num li {
    list-style: decimal;
}
