﻿@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Secular+One&display=swap');
#body {
    overflow: hidden;
}
#wrap {
    background: #ffffff;
}
body, h2, h3, h4, .cate_list li a {
    font-family: 'Sawarabi Gothic', sans-serif;
    font-weight: normal !important;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold!important;
}
.en_font, #top_cms .top_cms_box .top_cms_title p, #osusume .con_no {
    font-family: 'Secular One', sans-serif;
    letter-spacing: 3px;
}
#osusume {
    /*background: #ffe2f6;*/
    background: #ebebeb;
    padding-left: 15px;
    padding-right: 15px;
    background-image: url(Dup/img/osusume_bg.png);
    background-repeat: no-repeat;
    background-position: 100% 50%;
    background-size: auto 100%;
}
#osusume .con_no {
	position: absolute;
	top: -110px;
	/*text-shadow: 5px 5px #ffa8d4;*/
	/*color: #fff;*/
	color: #ffa8d4;
    text-shadow: 5px 5px rgb(195 195 195 / 29%);
}
.check {
    background: #fff;
    padding: 10px;
    border-radius: 8px;
    display: inline-block;
}
.check li {
    background: url(Dup/img/check.png);
    background-repeat: no-repeat;
    background-position: 0 5px;
    background-size: 28px;
    padding: 5px 5px 5px 38px;
    font-size: 16px;
}
#top_cms {
    max-width: inherit;
}
#top_cms .top_cms_box > * {
    max-width: 1280px;
    margin: 0 auto;
}
#top_cms .top_cms_box:nth-of-type(4) {
    background: #f1f1f1;
    padding-bottom: 45px;
}

#loader::after {
/*background: linear-gradient(to right, rgb(255, 214, 235) 0%,rgb(255, 153, 244) 100%);*/
background: linear-gradient(to right, rgb(245 245 245) 0%,rgb(237 237 237) 100%);
}

#header h1:after {
    display: none;
}
#header h1 {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 260px;
    top: 24px;
}
h1 img {
    width: 100%;
}
#main_img {
    /* border: 90px solid #ffd6eb; */
    padding-bottom: 0;
    height: inherit;
    min-height: inherit;
    max-width: 90%;
    margin: 0% auto;
    padding-top: 99px;
    padding-bottom: 100px;
}
#video {
    overflow: hidden;
    height: 100%;min-width: 100%;
    max-height: 81vh;
}
#video .video {
    min-height: 100%;
    min-width: 100%;
    vertical-align: bottom;
    background: radial-gradient(ellipse at center,  rgb(255 209 230 / 15%) 0%,rgb(255 255 255 / 16%) 100%);
}
#main_img::after {
background: transparent;
}
#main_img h2 {
    padding-right: 0;
    display: inline-block;
    overflow: hidden;
    position: absolute;
    left: auto;
    left: -29px;
    top: 62%;
    max-width: 973px;
    filter: drop-shadow(0px 1px 5px rgba(0,0,0,0.2));
}
#main_nav {
    transform: translateY(-70%);
    width: 100%;
    box-sizing: border-box;
}
#main_nav ul li a, footer .txt_white {
    color: #212121;
}
#footer {
    background-image: url(Dup/img/foot_bg.jpg);
    background-position: 50%;
    background-size: cover;
}
.pager li a {
    background-color: #cc99ff;
}
.pager li a:hover {
    opacity: 0.7;
}
.other #main_nav ul li a {
    color: #fff;
}
#contents h3 {
	/*font-size: 55px;*/
	position: absolute;
	top: -29px;
	/*text-shadow: 5px 5px #ffa8d4;*/
	right: 5%;
	color: #ffa8d4;
    text-shadow: 5px 5px rgb(195 195 195 / 29%);
}
#top_cms .top_cms_box .top_cms_title {
    transform: translate(-15px, -95px) rotate(-3deg);
    pointer-events: none;
}
#top_cms .top_cms_box .top_cms_title h3 {
    color: #ffa8d4;
    text-shadow: 5px 5px rgb(195 195 195 / 29%);
}
#top_cms .top_cms_box .top_cms_title p {
    color: #ffa8d4;
    opacity: 1;
    bottom: -81px;
    left: 0px;
    text-shadow: 11px 11px rgb(195 195 195 / 29%);
}
#contents_links .box_wrap .box a h4 {
    padding: 10px 5px;
    text-shadow: inherit;
    border: 0;
    font-size: 1.7em;
}
#contents_links .box_wrap {
    padding-bottom: 200px;
}
#contents_links {
    max-width: 1200px;
    margin: 0 auto;
}
#contents_links .box_wrap .box a {
    padding: 85px 31px 20px;
}
#contents_links .box_wrap .box a p {
    margin-bottom: 30px;
    text-shadow: none;
}
#contents_links .box_wrap .box a p span.bg_color3 {
    background-color: #edc433;
}
#contents_links .box_wrap .box {
    border: 0;
    margin-bottom: 10px;
}
#contents_links .box_wrap .box:nth-of-type(even) {
    border-right: 0;
    padding-left: 5px;
}
#contents_links .box_wrap .box:nth-of-type(odd) {
    border-left: 0;
    padding-right: 5px;
}
#contents_links .box_wrap .box a::before {
    content: "";
    display: block;
    left: 0;
    top: 0;
    position: absolute;
    right: 0px;
    width: 100%;
    height: 100%;
    /*background-color: rgb(188 125 235 / 56%);*/
background-color: rgb(149 149 149 / 63%);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 2;
}
#contents_links .box_wrap .box:nth-of-type(1) a::before, #contents_links .box_wrap .box:nth-of-type(4) a::before {
    /*background-color: rgb(255 102 194 / 56%);*/
    background-color: rgb(149 149 149 / 63%);
}
#contents_links .box_wrap .box.active:nth-of-type(even) {
    transform: inherit;
}
#contents_links .box_wrap .box a::after {
     opacity: 1; 
}
#contents_links .box_wrap .box a {
    border: 3px solid #fff;
    border-radius: 20px;
}
#contents div {
    /* background: #fff; */
    color: #212121;
    border: 0;
    box-shadow: none;
    background-image: url(Dup/img/trophy.png);
    background-repeat: no-repeat;
    background-size: 120px;
    background-position: 50% 38px;
    padding-top: 105px;
}
#contents div::after {
    opacity: 0;
}

#top_cms .top_cms_box .more a {
    padding: 10px 25px;
    background: #ededed;
    border: 0;
    border-radius: 26px;
    box-shadow: 3px 4px 0px 0px rgb(237 126 182);
}





.top_banner {
	bottom: 70px;
	right: 0;
	z-index: 90;
	width: 62px;
}
.top_banner a {
    padding: 8px 2px;
    letter-spacing: 0;
    line-height: 1.3;
    border-radius: 10px 0 0 10px;
    border-top: 1px solid;
    border-left: 1px solid;
    border-bottom: 1px solid;
    background-color: #edc433;
}
.top_banner a strong {
    letter-spacing: 4px;
}
.top_banner a i {
    padding: 0;
    padding-bottom: 8px;
}
#page_title::before {
    /*background: linear-gradient(to right,  rgb(255 124 191) 0%,rgb(181 108 255) 100%)!important;*/
}


.BA_type1 .box_item, .BA_type1 .box_img1, .BA_type1 .box_img2 {position: relative;}
.BA_type1 .box_item::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50.3%;
    transform: translate(-50%,-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 17px 0 17px 40px;
    border-color: transparent transparent transparent #ff9e03;
}
.BA_type1 .box_img1 {
    margin-right: 6%;
    margin-left: 2%;}
.BA_type1 .box_img2 {
    margin-left: 6%;
    margin-right: 2%;
}
.BA_type1 .box_img1::after, .BA_type1 .box_img2::after {
    position: absolute;
    height: 33px;
    width: 87px;
    background-color: #fff;
    color: #434343;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
}
.BA_type1 .box_img1::after {content: "before";}
.BA_type1 .box_img2::after {content: "after";}

.topcms_news_type2 .cate_box {
	width: 46.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	cursor: pointer;
	border-bottom:1px solid #cdcdcd;
	margin-bottom: 30px;
	box-shadow: 0 6px 12px rgb(0 0 0 / 0);
}
.topcms_news_type2 .cate_box:hover {
	transform: translateY(-5px);
}
.topcms_news_type2 .cate_box .box_item {
	cursor: pointer;
}
.topcms_news_type2 .txt_height {
	height: 5em
}
.topcms_news_type2 .box_img1 {
	border-radius: 10px;
}
#intro #intro_box #intro_txt h3 {
    max-width: 700px;
}
@media(min-width: 769px) {

    
}
@media(max-width: 768px) {
.link_type2 .cate_box a {
    padding: 112px 10px 129px;
}
#page_title h3 {
	font-size: 28px;
}   
#header h1 {
    top: 0;
}
#osusume .con_no {
	top: -107px;
}
#contents h3 {
	font-size: 32px;
	top: -19px;
	right: 10%;
}
.topcms_news_type2 .cate_box {width: 100%!important;}
.topcms_news_type2 .txt_height {height: 3em}
    #contents_links .box_wrap .box:nth-of-type(odd) {
        margin-right: 0;
    }
    #contents_links .box_wrap .box:nth-of-type(even) {
        margin-left: 0;
    }    
  #contents_links .box_wrap .box {
      width: 50%!important;
  }  
  #contents_links {
    padding: 0 3%;
}
#main_img {
    border-left: 0px solid #ffd6eb;
    border-right: 0;
    padding-top: 140px;
    max-width: inherit;
}
#contents_links .box_wrap {
    padding-bottom: 100px;
}
#top_cms .top_cms_box .top_cms_title {
    transform: translate(-31px, -107px) rotate(-3deg);
}
#contents::before {
    opacity: 0;
    background-color: rgb(255 255 255 / 55%);
    opacity: 1;
    background-image: none;
}
#video {
    min-width: 123%;
}
#main_img h2 {
	left: 0;
	top: 69%;
	filter: drop-shadow(0px 1px 5px rgba(0,0,0,0.2));
	width: 90%;
	right: 0;
	margin: auto;
}
#top_cms {
    padding-left: 0;
    padding-right: 0;
}
#top_cms .top_cms_box {
    padding-left: 5%;
    padding-right: 5%;
}
}
@media(max-width: 667px) {
.font_4up_sp {
	font-size: calc(1rem + 2px);
}
#page_title h3 {
	font-size: 20px;
}   
#osusume .con_no {
	top: -79px;
}
#main_img {
    padding-top: 115px;padding-bottom: 35px;
}
#video {
    min-width: 136%;
}
#osusume {
	background-position: 31% 50%;
	padding-top: 32px;
	padding-bottom: 45px;
}
#intro h3 {
    font-size: 17px;
    padding: 0px;
}
.link_type2 .cate_box a {
    padding: 44px 10px 91px;
}
.check li {
    background-size: 21px;
    padding: 2px 3px 2px 30px;
    font-size: 14px;
}
#top_cms .top_cms_box .top_cms_title {
    transform: translate(-1px, -41px) rotate(-3deg);
}

#top_cms .top_cms_box .top_cms_title p {
    bottom: -48px;
    font-size: 34px;
}
#contents div {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}
#header h1 {
    left: 0;
    width: 186px;
    top: 0;
    right: auto;
}
#wrap {
        overflow: hidden;
    }
#main_img h2 {
	left: 0;
	text-align: left;
	top: 75%;
	width: 95% !important;
	padding: 0;
}
#contents h3 {
	font-size: 24px;
	top: -15px;
	right: 4%;
}
#contents_links .box_wrap .box:nth-of-type(3) a::before {
    /*background-color: rgb(255 102 194 / 56%);*/
}
#contents_links .box_wrap .box:nth-of-type(4) a::before {
    /*background-color: rgb(188 125 235 / 56%);*/
}

#footer_box h2 {
    padding: 0 10px;
}
.top_banner a strong {
    letter-spacing: 2px;
}
.top_banner {
    bottom: 0;
    right: 52px;
    width: auto;
}
.top_banner a {
    padding: 3px 4px;
    border-radius: 10px 0 0 10px;
    border-bottom: none;
    border-right: 1px solid;
    border-radius: 10px 10px 0 0;
}
.top_banner a i {
    padding-bottom: 0px;
    padding-right: 5px;
}
#contents_links .box_wrap .box {
      width: 100%!important;
  } 
#contents_links .box_wrap .box {
    width: 100%!important;
    padding-left: 10px!important;
    padding-right: 10px!important;
}
#contents_links .box_wrap .box a {
    padding: 43px 10px 13px;
}
#footer_bottom {
    padding-bottom: 60px;
}
.BA_type1 .box_img1 {margin-right: 2%;margin-bottom: 50px;}
.BA_type1 .box_img2 {margin-left: 2%;}
.BA_type1 .box_img1::after, .BA_type1 .box_img2::after {height: 30px;font-size: 15px;}
.BA_type1 .box_item::after {transform: translate(-50%,-60%) rotate( 90deg);border-width: 20px 0 20px 23px;}
}






.link_type2 .cate_box a {
    color: #fff;
    padding: 109px 10px 140px;
    border-radius: 20px;
}
.link_type2 .cate_box a:before, .link_type2 .cate_box a:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    /*background-color:rgb(231 202 0 / 65%);*/
    background-color: rgb(153 140 148 / 38%);
    z-index: 1;
}
.link_type2 .cate_box a:after {
    top: 100%;
    background-color: rgb(255 0 129 / 24%);
    transition: 0.4s;
	z-index: 2;
}
.link_type2 .cate_box:first-of-type a:after {
    background-color: rgb(255 0 129 / 24%);
}
.link_type2 .cate_box a:hover:after {
    top: 0;
}
.link_type2 .cate_box .txt_wrap {
    z-index: 3;
}
.link_type2 .more {
    letter-spacing: 3px;
    box-sizing: border-box;
    /*opacity: 0;*/
    transition: opacity .8s;
    z-index: 4;
    top: 68%;
    padding: 1px 6px;
    font-size: 12px;
    border-bottom: 1px solid;
}
.link_type2 .cate_box a:hover .more {
    opacity: 1;
}







.g_type4 .slide_img figure{
	position: relative;
	overflow: hidden;
}
.g_type4 .slide_img figure img{
	position: relative;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.g_type4 .swiper-slide{
    opacity: 1!important;
}
.g_type4 .slide_img .thumbnail .swiper-wrapper {
    margin-left: 0!important;
    transform: none!important;
}
.g_type4 .swiper-button-prev{
	background-image: url("../dup/img/swiper_prev.png")!important;
}
.g_type4 .swiper-button-next{
	background-image: url("../dup/img/swiper_next.png")!important;
}

/* IE */
@media all and (-ms-high-contrast: none){
.g_type4 .slide_img .thumbnail .swiper-wrapper .swiper-slide {
    overflow: hidden;
    position: relative;
    height: 80px;
}
.g_type4 .slide_img .thumbnail .swiper-wrapper .swiper-slide img{
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}
}