@charset "utf-8";

/* ///////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	Basic	

/////////////////////////////////////////////////////////////////////////////////////////////////////////// */
html,body{
	height:100%;
	-webkit-text-size-adjust:none;
	word-wrap: break-word;
	word-break: keep-all;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, button{margin:0; padding:0;}
body, h1, h2, h3, h4, h5, h6, th, td, input, select, textarea{margin:0; padding:0; line-height:21px; color:#222; font-size:15px; font-family:'SpokaHanSansNeo','Nanum Gothic','돋움',Dotum,Helvetica,Verdana,Arial,sans-serif;}
ul, ol, dl, dt, dd{margin:0; padding:0; list-style:none;}
img{border:none;}
hr{display:none;}
fieldset{border:none;}
legend{display:none;}
p{margin:0;}
table{table-layout:fixed; border-collapse:collapse; border-spacing:0;}
table caption{overflow:hidden; position:relative; line-height:1px; font-size:1px; text-indent:-30000px;}
.hidden{overflow:hidden; position:absolute; line-height:1px; font-size:1px; text-indent:-30000px;}
.ani {transition:all 0.3s ease;}        
a {text-decoration: none;}


/* ///////////////////////////////////////////////////////////////////////////////////////////////////////////
	
	Main	

/////////////////////////////////////////////////////////////////////////////////////////////////////////// */
body.fixed {overflow: hidden;}
#wrap {position: relative; overflow: auto;}
.inner {margin: 0 auto; max-width: 1400px; position: relative;}

site-header, site-footer {display: block;}
.header {height:100px; position:fixed; width: 100%; z-index: 999; transition: all 0.3s ease-in-out;}
.header.active {background-color: rgba(0,14,69,0.95);}
.header .inner {position: relative;}
.header .inner .logo {position: absolute; top:26px; left:0;}
.header .inner .logo a img.mob {display: none;}
.header .inner .right {display: flex; position: absolute; top:0; right:0;}
.header .inner .right .menu {display:block; width: 40px; height: 40px; overflow: hidden; text-indent: -9999px; margin: 29px 60px 0 0; background-image: url(../images/common/header_menu.png); background-repeat: no-repeat; background-position: center center;}
.header .inner .right .month {width:90px; height:115px; display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; background-color: #1f8bd6; border-radius: 0 0 45px 45px; color:#fff;}
.header .inner .right .month * {display: block; text-align: center;}
.header .inner .right .month span {font-size: 20px; line-height: 20px; font-weight: 500;}
.header .inner .right .month strong {font-size: 38px; line-height: 38px; padding-top:3px; font-weight: 500;}
.gnb {position: fixed; right: 0; top: 0; width: 100%; height: 100%; justify-content: right; display: none; opacity: 0;}
.gnb:after {content:""; display: block; width: 100%; height: 100%; background-color: rgba(0,0,0,0.7); position: absolute; left: 0; top: 0; z-index: 10;}
.gnb .inner {width: 350px; overflow: auto; padding: 15px; padding-top: 70px; box-sizing: border-box; height: auto; right: -350px; margin: 0; position: relative; z-index: 100; background-color: #131641;}    
.gnb .inner:before {content: "All Menu"; text-transform: uppercase; font-family: "GMarketSans"; font-size: 18px; letter-spacing: 0.5px; position: absolute; left: 15px; top:27px; color: rgba(255,255,255,0.4); tex}
.gnb .close_btn {display: block; transition: all 0.3s ease; position: absolute; right: 15px; top: 15px; width: 40px; height: 40px; overflow: hidden; text-indent: -9999px;}
.gnb .close_btn:before,
.gnb .close_btn:after {content:""; transform: rotate(45deg); display: block; width: 26px; height: 2px; background-color: rgba(255,255,255,0.7); position: absolute; left: calc(50% - 13px); top: calc(50% - 1px);}
.gnb .close_btn:after {transform: rotate(-45deg);}
.gnb .close_btn:hover {transform: rotate(180deg);}
.gnb ul {}
.gnb ul li {border-bottom: 1px solid rgba(255,255,255,0.1);}
.gnb ul li a {display: block; transition: all 0.3s ease; text-decoration: none; position: relative; padding: 20px; padding-left: 70px; color: #fff; font-size: 20px; font-family: "GMarketSans"; font-weight: 500;}
.gnb ul li a:before {content: ""; display: block; background-image: url(../images/common/gnb_ico.png); background-repeat: no-repeat; background-position: center top; position: absolute; left: 10px; top: calc(50% - 25px); width: 50px; height: 50px; background-color: #fff; border-radius: 50%;;} 
.gnb ul li:nth-child(1) a:before {background-position: center top;}
.gnb ul li:nth-child(2) a:before {background-position: center -50px;}
.gnb ul li:nth-child(3) a:before {background-position: center -100px;}
.gnb ul li:nth-child(4) a:before {background-position: center -150px;}
.gnb ul li:nth-child(5) a:before {background-position: center -200px;}
.gnb ul li:nth-child(6) a:before {background-position: center -250px;}
.gnb ul li a.dep2:after {content: ""; transition: all 0.3s ease; display: block; background-image: url(../images/common/gnb_arr.png); background-repeat: no-repeat; background-position: center 60%; width: 27px; height: 27px; background-color: #494a7a; position: absolute; right: 10px; top: calc(50% - 13px); border-radius: 50%;
transform: rotate(0deg);}
.gnb ul li a.dep2.active:after {transform: rotate(180deg); background-position: center 50%;}
.gnb ul li a span {display: block; letter-spacing: 1px; margin-bottom: 5px; font-weight: 300; text-transform: uppercase; font-size: 11px; line-height: 14px; color: #c7c3ff;} 
.gnb ul li a:hover,
.gnb ul li a.active {background-color: rgba(0,0,0,0.2);}
.gnb ul li ul {display: none; background-color: rgba(0,0,0,0.2);}
.gnb ul li ul li {border-color: #131641;}
.gnb ul li ul li:last-child {border: 0;}
.gnb ul li ul li a {font-size: 15px; padding: 15px; color: rgba(255,255,255,0.8);} 
.gnb ul li ul li a:before {display: none;}
.gnb ul li ul li a:hover {background-color: rgba(255,255,255,0.1);}

.visual {height: 840px; padding-top: 110px; box-sizing: border-box; overflow: hidden; background-color: #001258; position: relative; border-radius: 0 0 80px 80px;}
.visual:after {content: ""; display: block; position: absolute; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; background-image: url(../images/main/visual_bg.png); background-repeat: no-repeat; background-position: center top; background-size: cover;
animation-name: visual;
animation-duration: 3s;
animation-timing-function: ease-in-out;
animation-fill-mode: both;
animation-iteration-count: 1;}
@keyframes visual {
	0% {opacity: 0.8; transform: scale(1.2); filter: blur(3px);}
	100% {opacity: 1; transform: scale(1); filter: blur(0px);} 
}
.visual .inner {position: relative; z-index: 10; display: flex; height: 100%; align-items: center; }
.visual h2 {font-family: "GMarketSans"; color: #fff; transform: translateY(-50px);}
.visual h2 strong,
.visual h2 .eng,
.visual h2 .txt {
animation-name: slogan;
animation-duration: 1.5s;
animation-timing-function: ease;
animation-fill-mode: both;
animation-iteration-count: 1;}
.visual h2 strong {font-size: 70px; line-height: 85px; display: block; margin: 35px 0; animation-delay: 0.4s;}
.visual h2 .eng {display: block; font-size: 26px; font-weight: 500; letter-spacing: 10px; color: rgba(255,255,255,0.5); animation-delay: 0.2s;}
.visual h2 .txt {display: block; font-family: 'SpokaHanSansNeo'; font-size: 21px; font-weight: normal; line-height: 34px; animation-delay: 0.6s;}
@keyframes slogan {
	0% {opacity: 0; transform :translateY(50px);}
	20% {opacity: 0; transform :translateY(50px);}
	100% {opacity: 1; transform: translateY(0);} 
}

.item h3 {border-bottom: 1px solid #000; margin-bottom: 25px;}
.item h3 p {display: block; position: relative; font-size: 18px; font-weight: 500; margin-bottom: 5px;}
.item h3 p span {font-family: 'GMarketSans'; position: relative; z-index: 10;}
.item h3 p:before {content: ""; display: block; width: 20px; height: 20px; border-radius: 50%; background-color: #83b3fa; position: absolute; left: -10px; top: -8px;}
.item.news h3 p:before {background-color: #6bd0c4;}
.item.exhi h3 p:before {background-color: #b2adf6;}
.item h3 strong {font-family: 'GMarketSans'; background-color: #d6f1ff; font-size: 34px; line-height: 36px; font-weight: 500; vertical-align: top; display: inline-block; padding: 2px 20px 0 0; position: relative; transform: translateY(8px);}   
.item a {display: block; color: #222; text-decoration: none;}
.item a .photo {border-radius: 0 0 0 90px; overflow: hidden;}
.item a .photo img {display: block; width:100%; height: auto; margin: 0 auto; transition:all 0.6s ease;}
.item a p { font-weight: 900; font-size: 24px; line-height: 36px; margin: 20px 0 0 0;}
.item a:hover .photo img {transform: scale(1.2);}

.section .inner {padding: 80px 0;}

.section01 .inner {padding: 90px 0 110px 0; display: flex; position: relative;}
.section01 .slogan {margin-right: 0; margin-top: 60px; width: 470px; transform: translateX(-130px); position: relative;}
.section01 .slogan img {position: relative; z-index: 10;}
.section01 .slogan img.pc {display: block;}
.section01 .slogan img.mob {display: none;}
.section01 .slogan .turtle {width:208px; height: 227px; position: absolute; right:30px; bottom:85px; z-index: 1;}
.section01 .slogan .turtle:after {content: ""; z-index: 10; display: block; position: absolute; left: 0; top: 0;  width:100%; height: 100%; background-image: url(../images/main/turtle.png);}
.section01 .slogan .turtle:after,
.section01 .slogan .turtle span {background-repeat: no-repeat;}
.section01 .slogan .turtle span {display: block; position: absolute;
animation-duration: 3s;
animation-timing-function: ease-in-out;
animation-fill-mode: both;
animation-iteration-count: infinite;}
.section01 .slogan .turtle span.lt_leg {width: 89px; height: 37px; left: 6px; top:26px; background-image: url(../images/main/turtle_leg1.png);
animation-name: turtle_ani01;
transform-origin: right bottom;}
.section01 .slogan .turtle span.rt_leg {width: 52px; height: 83px; left: 154px; top: 67px; background-image: url(../images/main/turtle_leg2.png); 
animation-name: turtle_ani02;
transform-origin: 10px 20px;}
.section01 .slogan .turtle span.lb_leg {width: 34px; height: 38px; left: 2px; top: 161px; background-image: url(../images/main/turtle_leg3.png); 
animation-name: turtle_ani01;
transform-origin: right 50%;}
.section01 .slogan .turtle span.rb_leg {width: 37px; height: 37px; left: 52px; top: 186px; background-image: url(../images/main/turtle_leg4.png);
animation-name: turtle_ani02;
transform-origin: 50% top;}
@keyframes turtle_ani01 {
	0% {transform : rotate(0deg);}
	50% {transform : rotate(30deg);}
	100% {transform : rotate(0deg);} 
}
@keyframes turtle_ani02 {
	0% {transform : rotate(0deg);}
	50% {transform : rotate(-30deg);}
	100% {transform : rotate(0deg);} 
}
.section01 .item h3 p:before {background-color: #89e2f6;}
.section01 .item a p {font-size: 28px; line-height: 42px;}
.section01 .item a .photo {border-radius: 90px 0 0 0;}
.section01 .item a p.date {font-size:18px; font-weight: normal; line-height: 26px; margin-top: 15px;}
.section01 .item h3 {border:none;}
.section01 .item h3 p {display: inline-block; margin-bottom: 0;}
.section01 .item h3 p span {font-size: 21px; padding-right:60px; position: relative;}
.section01 .item h3 p span:after {content: ""; display: block; width: 30px; height: 1px; position: absolute; top: 10px; right: 15px; background-color: #222;}
.section01 .item h3 strong {font-size: 22px; line-height: 22px; transform:translateY(1px); padding:0;  background-color: #fff;}
.section01 ul {display: flex; flex: 1; gap: 0 60px;}
.section01 ul li { flex: 1;}
.section01 ul li:nth-child(even) .item a .photo { border-radius: 0 90px 0 0;}
.section01 .coral {width:173px; height: 174px; z-index: 100; position: absolute; right:0; bottom:-100px; background-image: url(../images/main/section02_bg1.png); background-repeat: no-repeat; background-position: right top; background-size: auto;}

.section02 {background-color: #d6f1ff; overflow: hidden;}
.section02 .inner {padding: 100px 0; position: relative;}
.section02 ul {padding: 0 100px; display: flex; gap:80px 80px; flex-wrap: wrap;}
.section02 ul li {flex-basis: calc(50% - 40px);}
.section02 ul li:nth-child(even) .item a .photo {border-radius: 0 90px 0 0;}
.section02 .inner:before {content:""; display: block; width:268px; height: 399px; position: absolute; left:-170px; bottom:-20px; background-image: url(../images/main/section02_bg2.png); background-repeat: no-repeat; background-position: left bottom; background-size: 80%;}
.section02 .inner:after {z-index: 20; content:""; display: block; width:221px; height: 541px; position: absolute; right:-160px; bottom:0; background-image: url(../images/main/section02_bg3.png); background-repeat: no-repeat; background-position: right bottom; background-size: 80%;}
.section02 .inner:before,
.section02 .inner:after {
animation-name: pool_ani01;
animation-duration: 5s;
animation-timing-function: ease;
animation-fill-mode: both;
animation-iteration-count :infinite;
transform-origin: center bottom;}
.section02 .inner:before {transform-origin: left bottom; animation-duration: 7s; animation-name: pool_ani02;}
@keyframes pool_ani01 {
	0% {transform : rotate(-5deg);}
	50% {transform : rotate(5deg);}
	100% {transform : rotate(-5deg);} 
}
@keyframes pool_ani02 {
	0% {transform : rotate(5deg);}
	50% {transform : rotate(-5deg);}
	100% {transform : rotate(5deg);} 
}
.section02 .fish {width:143px; height: 117px; z-index: 100; position: absolute; right:-110px; bottom:90px; background-image: url(../images/main/section02_bg4.png); background-repeat: no-repeat; 
background-position: right bottom; background-size: auto;
animation-name: fish_ani;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-fill-mode: both;
animation-iteration-count :infinite;}
@keyframes fish_ani {
	0% {transform: translateY(0);}
	50% {transform: translateY(10px);}
	100% {transform: translateY(0);} 
}

.section03 h3 {font-family: 'GMarketSans'; position: relative; z-index: 10; margin-bottom: 20px;}
.section03 h3:before {content: ""; display: block; width: 20px; height: 20px; border-radius: 50%; background-color: #89e2f6; position: absolute; left: -10px; top: -8px;}
.section03 h3 span {position: relative; z-index: 10; font-size: 22px; line-height: 26px; font-weight: 500; font-size: 22px; font-family: 'GMarketSans';}
.section03 a {display: block; position: relative; color: #fff; overflow: hidden; border-radius: 0 100px 0 100px; padding: 100px 80px; text-decoration: none; background-color: #1043b1; background-image: url(../images/main/event_bg.png);
background-repeat: no-repeat; background-position: left top; background-size: cover;}
.section03 a:after {content: ""; position: absolute; right: 50px; bottom: 0; z-index: 1; display: block; width: 550px; height: 284px; background-image: url(../images/main/event_bg2.png); background-repeat: no-repeat; background-position: center center;}
.section03 a p.text {color: #fff; margin-right: 430px;}
.section03 a p.text strong {display: block; font-size: 40px; line-height: 54px; font-family: "GMarketSans";}
.section03 a p.text strong span {display: block;}
.section03 a p.text >span {display: block; font-size: 20px; line-height: 26px; margin-top: 10px;}
.section03 a .button {width: 180px; height: 180px; position: relative; z-index: 10; transition: all 0.3s ease; position: absolute; right: 130px; top: calc(50% - 90px); box-sizing: border-box; padding: 50px 0 0 0; font-size: 22px; line-height: 28px; 
background-color: #111; border-radius: 50%; text-align: center;}
.section03 a .button:after {content: ''; display: block; width:41px; height: 8px; margin:0 auto; margin-top:15px; background-image: url(../images/main/event_arrow.png); background-repeat: no-repeat; background-position: center bottom;}
.section03 a:hover .button {animation-name: btn;
animation-duration: 1.5s;
animation-timing-function: ease-in-out;
animation-fill-mode: both;
animation-iteration-count: infinite;}
@keyframes btn {
	0% {transform :translateY(0);}
	50% {transform :translateY(20px);}
	100% {transform: translateY(0);} 
}
.section03 .star {width:100px; height: 94px; position: absolute; right:45px; top:-50px; z-index: 100; background-image: url(../images/main/section02_bg5.png); background-repeat: no-repeat; background-position: right bottom; background-size: auto;}

.footer {background-color:#152341; background-image: url(../images/common/footer_bg.png); background-position:center top; background-repeat:no-repeat; background-size:cover;}
.footer .inner {padding:60px 0; text-align:center;}
.footer .copy {margin-top:30px; color:rgba(255,255,255,0.6); font-weight: 300; font-size: 17px; line-height: 26px;}
.footer .copy span {display:block; letter-spacing: -0.2px;}
.footer .copy span + span {margin-top: 5px;}
.footer .etc {display: flex; justify-content: center; margin-top:50px;}
.footer .sns_link {display: flex; justify-content: center; align-items: center;}
.footer .sns_link li {}
.footer .sns_link li + li {border-left: 1px dotted rgba(255,255,255,0.3);}
.footer .sns_link li a {display:block; padding:0 13px; opacity:0.7; transition:all 0.3s ease;}
.footer .sns_link li a:hover {opacity:1;}
.footer .sns_link li a img {display:block;}
.footer a.modal_btn {color: #fff; opacity: 0.7; transition:all 0.3s ease; position: relative; margin-left: 30px; display: block; border: 1px solid #fff; padding: 10px 90px 10px 20px; border-radius: 25px; font-size: 16px; line-height: 20px;}
.footer a.modal_btn:before,
.footer a.modal_btn:after {content: ""; display: block; transition:all 0.3s ease; width: 15px; height: 1px; background-color: #fff; position: absolute; right: 20px; top:calc(50% - 1px);}
.footer a.modal_btn:after {transform: rotate(90deg);}
.footer a.modal_btn:hover,
.footer a.modal_btn.active {opacity: 1;}
.footer a.modal_btn.active:before {transform: rotate(180deg);}
.footer a.modal_btn.active:after {transform: rotate(270deg); opacity: 0;}
.footer .history_modal {background-color: #fff; z-index: 100; border-radius: 10px; display: none; border: 1px solid #d4d7dd; box-shadow: 0 5px 10px rgba(119, 125, 141, 0.3); box-sizing: border-box; padding: 25px 25px 15px 25px; text-align: left; position: absolute; left: 0; bottom: 130px; width: 100%;;}
.footer .history_modal p {font-size: 20px; line-height: 26px; font-family: "GMarketSans"; margin-bottom: 10px;}
.footer .history_modal ul {}
.footer .history_modal ul li {display: flex; border-top: 1px dotted #ddd; padding: 7px 0;}
.footer .history_modal ul li:first-child {border: 0;}
.footer .history_modal ul li strong {color: #244ea3; padding: 3px; font-size: 16px; line-height: 26px; margin-right: 20px;}
.footer .history_modal ul li ul {}
.footer .history_modal ul li ul li {float: left; margin: 3px; border: 0; display: block; padding: 0;} 
.footer .history_modal ul li ul li a {color: #fff; font-size: 14px; transition: all 0.3s ease; line-height: 21px; background-color: #e4efff; border-radius: 20px; padding: 3px 13px; color: #152341; display: inline-block; vertical-align: top;} 
.footer .history_modal ul li ul li a:hover {background-color: #a4c7ff;}
.footer .history_modal .close_btn {display: block; transition: all 0.3s ease; position: absolute; right: 15px; top: 15px; width: 40px; height: 40px; overflow: hidden; text-indent: -9999px;}
.footer .history_modal .close_btn:before,
.footer .history_modal .close_btn:after {content:""; transform: rotate(45deg); display: block; width: 26px; height: 2px; background-color: rgba(0,0,0,0.7); position: absolute; left: calc(50% - 13px); top: calc(50% - 1px);}
.footer .history_modal .close_btn:after {transform: rotate(-45deg);}
.footer .history_modal .close_btn:hover {transform: rotate(180deg);}
.footer .top_btn {position: fixed; right: 100px; bottom: 0; z-index: 200; display: none; background-image: url(../images/common/gnb_arr.png); background-repeat: no-repeat; background-position: center 50%; transform: rotate(180deg); border: 2px solid rgba(255,255,255,0.3); border-top: 0; background-color: #000; width: 46px; height: 40px; overflow: hidden; text-indent: -9999px; border-radius: 0 0 6px 6px;}

@media screen and (max-width: 1400px){
	.inner { margin: 0 5%;}
}
@media screen and (max-width: 1280px) {
	.section03 a {padding: 80px 60px;}
	.section03 a p.text {z-index: 100; position: relative;}
	.section03 a::after {width: 480px; background-size: 100%; background-position: center bottom;}
}
@media screen and (max-width: 1250px) {
	.section01 .item h3 p span {font-size: 19px;}
	.section01 .item a p {font-size: 26px; line-height: 38px;}
	.section01 .item a p.date {font-size: 17px;}
	.item h3 p {font-size: 16px;}
	.item h3 p:before {top: -6px}
	.item h3 strong {font-size: 32px; line-height: 32px;}
	.item a p {font-size: 23px; line-height: 35px;}
	.section01 .item h3 strong {transform: translateY(6px); display: block;}
	.section03 a p.text strong {font-size: 38px; line-height: 52px;}
	.section03 a p.text > span {font-size: 18px; line-height: 24px;}
	.section03 a .button {font-size: 20px;}
}
@media screen and (max-width: 1180px) {
	.section03 a p.text {margin-right: 450px;}
}
@media screen and (max-width: 1024px){
	.header .inner .right .menu {margin: 29px 45px 0 0;}
	.header .inner .right .month {width:80px; height: 100px;}
	.header .inner .right .month span {font-size: 16px; line-height: 16px;}
	.header .inner .right .month strong {font-size: 35px; line-height: 35px;}
	.visual {height: 740px;}
	.visual h2 .eng {font-size: 23px;}
	.visual h2 strong {font-size: 60px; line-height: 75px; margin: 30px 0;}
	.visual h2 .txt {font-size: 19px; line-height: 29px;}
	.section01 {position: relative; z-index: 100;}
	.section01 .inner {flex-direction: column;}
	.section01 .slogan {width:100%; margin-top:0; margin-bottom: 80px; transform: translateX(0);}
	.section01 .slogan img.pc {display: none;}
	.section01 .slogan img.mob {display: block; max-width: 80%; margin: 0 auto;}
	.section01 .slogan .turtle {right: calc(50% - 120px);bottom: inherit;transform: scale(0.7);transform-origin: center top;top: -155px;z-index: 9999;}
	.section01 .item h3 strong {display: inline-block; transform: translateY(2px);}
	.section02 ul {padding:0;}
	.section03 a {padding: 60px 50px;}
	.section03 a p.text {margin-right: 420px;}
}
@media screen and (max-width: 900px){
	.section03 a::after {width: 450px; right: 30px;}
	.section03 a p.text {margin-right: 350px;}
	.section03 a p.text strong {font-size: 36px; line-height: 49px;}
	.section03 a p.text > span {font-size: 16px;}
	.section03 a .button {right:80px;}
}
@media screen and (max-width: 840px){
	.visual {height: 640px;}
	.visual h2 .eng {font-size: 20px;}
	.visual h2 strong {font-size: 50px; line-height: 65px; margin: 30px 0;}
	.visual h2 .txt {font-size: 17px; line-height: 25px;}
	.section03 a::after {width:420px;}
	.section03 a p.text {margin-right: 300px;}
	.section03 a .button {right:50px;}
	.section03 a p.text strong {font-size: 34px; line-height: 47px;}
	.footer .inner {padding:45px 0;}
	.footer .inner .logo {width:210px; display: block; margin:0 auto;}
	.footer .inner .logo img {max-width: 100%;}
	.footer .copy {font-size: 16px; line-height: 23px; margin-top: 25px;}
	.footer .etc {margin-top: 30px;}
	.footer a.modal_btn {font-size: 16px;}
}
@media screen and (max-width: 740px){
	.section01 ul, .section02 ul {flex-direction: column; flex-wrap: nowrap;}
	.section01 ul,
	.section02 ul {padding:0; gap: 60px 0;}
	.section02 ul li {flex-basis: calc(100%);}
	.section03 a::after {width: 370px;}
	.section03 a p.text {margin-right: 230px;}
	.section03 a p.text strong {font-size: 32px; line-height: 45px;}
}
@media screen and (max-width: 640px){
	.header .inner .right .menu {margin: 29px 30px 0 0;}
	.visual {height: 540px;}
	.visual h2 .eng {font-size: 17px;}
	.visual h2 strong {font-size: 40px; line-height: 55px; margin: 25px 0;}
	.visual h2 .txt {font-size: 15px; line-height: 23px;}
	.section03 a p.text {text-align: center; margin-right: 0;}
	.section03 a .button {position:inherit; margin: 0 auto; right: 0; margin-top:30px;}
	.section03 a::after {width:420px; right:0; left:0; margin:0 auto;}
	.footer .etc {flex-direction: column;}
	.footer a.modal_btn {margin: 25px auto 0; width: auto; align-self: center;}
	.footer .history_modal ul li {display: block;}
	.footer .history_modal ul li strong {display: inline-block; margin-bottom: 6px;}
	.footer .history_modal ul li ul li {float: none; display: inline-block; vertical-align: top;}
}
@media screen and (max-width: 480px){
	.header {height: 80px;}
	.header .inner .logo {top:21px;}
	.header .inner .logo a {display: block; width: 200px;}
	.header .inner .logo a img {max-width: 100%;}
	.header .inner .right .menu {margin: 20px 20px 0 0;}
	.header .inner .right .month {width: 65px; height: 80px;}
	.header .inner .right .month span {font-size: 13px; line-height: 13px;}
	.header .inner .right .month strong {font-size: 28px; line-height: 28px;}
	.visual {height: 440px;}
	.visual h2 .eng {font-size: 14px;}
	.visual h2 strong {font-size: 30px; line-height: 45px; margin: 20px 0;}
	.visual h2 .txt {font-size: 14px; line-height: 21px;}
	.item h3 {margin-bottom: 18px;}
	.item h3 p {font-size: 14px; line-height: 14px; margin-bottom: 0;}
	.item h3 strong {font-size: 28px; line-height: 28px; transform: translateY(8px);}
	.item a p {font-size: 20px; line-height: 30px;}
	.section .inner {padding: 55px 0;}
	.section01 .inner {padding: 70px 0 50px 0;}
	.section01 .slogan {margin-bottom: 45px;}
	.section01 .slogan .turtle {transform: scale(0.5); top: -115px;}
	.section01 .slogan img.mob {max-width: 90%;}
	.section01 .item a p {font-size: 20px; line-height: 30px;}
	.section01 .item a p.date {font-size: 16px; line-height: 16px;}
	.section01 .item h3 p span {font-size: 17px;}
	.section01 .item h3 strong {font-size: 19px; line-height: 20px;}
	.section01 .coral {width: 80px; height: 80px; bottom: -30px; background-size: 100%;}
	.section01 ul, .section02 ul {gap: 45px 0;}
	.section02 .inner {padding: 55px 0;}
	.section03 a {padding: 50px 40px;}
	.section03 a p.text strong {font-size: 28px; line-height: 38px;}
	.section03 a .button {width:165px; height: 165px; font-size: 18px; line-height: 25px;}
}
@media screen and (max-width: 360px){
	.header .inner .logo {top:18px;}
	.header .inner .logo a {display: block; width: 48px;}
	.header .inner .logo a img.pc {display: none;}
	.header .inner .logo a img.mob {display: block;}
	.footer a.modal_btn {padding: 10px 80px 10px 18px;}
}