@charset "utf-8";

/*=====================================================
 * Style URL: /css/style.css
 * Version: 1.0
 * Last Up Date: 2023/05/xx
 *
 * Markup Reference:
 *
=====================================================*/



/*----- contents -------

	1: Main Interface setting
		: container
		: header
		: footer
		: wrapper
		: main_contents
		: sub_contents
	2: Module
	3: Common
	4: clearfix

----------------------*/


/*
===== 1: Main Interface setting ===========================*/

/* header
--------------------*/
body{
	background-color: #006AB3!important;
}

body.fixed {
	position: fixed;
	width: 100%;
}

.relative{
	position: relative;
}

header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 59px;
	background-color: #ffffff;
	border-bottom: 1px solid #f2f2f2;
}

header .logo {
	position: relative;
    display: block;
    text-align: left;
    height: 100%;
    width: 115px;
    z-index: 40000;
	background-repeat: no-repeat;
    background-size: contain;
	background-image:url(../img/logo.png) ;
}

header .logo.change {
	background-repeat: no-repeat;
	background-image:url(../img/logo_white.png) ;
}

header nav.anc_contact {
	position: absolute;
	top: 12.5px;
	left: 115px;
}

header nav.anc_contact .nav_anc{
	display: inline-block;
	height: 100%;
}


header nav.anc_contact.disappear {
	display: none;
}

header.header_fixed {
	max-width: 100%;
	visibility: visible;
	z-index: 3000;
}

header.header_fixed.open {
	background-color: #006AB3;
}

header .nav_menu {
	display: block !important;
	position: absolute;
	top: 11px;
	right: 15px;
	width: 32px;
	z-index: 2000;
}

header .nav_menu a {
	display: block;
	width: 32px;
	height: 32px;
}

header .nav_menu a:hover {
	opacity: 0.7;
}

header .nav_menu span {
	display: inline-block;
	position: absolute;
	left: 0;
	width: 32px;
	height: 4px;
	background-color: #001E40;
	transition: all .4s;
	border-radius: 20%;
}

header .nav_menu span:nth-of-type(1) {
	top: 7px;
}

header .nav_menu span:nth-of-type(2) {
	top: 29px;
}

header .nav_menu span:nth-of-type(3) {
	top: 18px;
}

header .nav_menu.active span {
	border-radius: 20%;
}

header .nav_menu.active span:nth-of-type(1) {
	top: 6px;
	left: 0;
	width: 32px;
	background-color: #001E40;
	transform: translateY(10px) rotate(-45deg);
}

header .nav_menu.active span:nth-of-type(2) {
	top: 26px;
	left: 0;
	width: 32px;
	background-color: #001E40;
	transform: translateY(-10px) rotate(45deg);
}

header .nav_menu.active span:nth-of-type(3) {
	display: none;
}

@media screen and (min-width:1000px) {
	header .nav_menu {
		display: none!important;
	}
}


header .sec_menu_inner {
	height: 0;
	background: #006AB3;
	background-size: 100% auto;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}

header .gnav {
	padding: 2vh 2vh 2vh 2vh;
	margin-left: auto;
	margin-right: auto;
	max-width: 345px;
}

header .gnav .btn {
	margin-top: 15%;
}

header .gnav .btn li{
	margin-top: 6%;
}

header .gnav .btn li img{
	width: 100%;
	height: auto;
}

header .gnav>ul>.gnavList a {
	padding-left: 1em;
}

header .gnav>ul>.gnavList {
	padding-top: 2.5vh;
	padding-bottom: 2.5vh;
	border-top: 2px dotted #ffffff;
}

header .gnav>ul>.gnavList:last-child {
	border-bottom: 2px dotted #ffffff;
}
header .gnav>ul>li>a {
	display: block;
	color: #ffffff;
	font-size: 16px;
	font-weight: 500;
	line-height: 32px;
	letter-spacing: 0.1em;
}

.gnav li ul {
	display: inline-block;
	min-width: 176px;
	margin: 20px 0 0;
	border-top: 1px solid #ffffff;
}

.gnav li li {
	padding: 14px 0;
	border-bottom: 1px solid #ffffff;
	line-height: 1;
}

.gnav li ul li a {
	color: #ffffff;
	font-size: 14px;
	font-weight: 500;
}

.letterWhite {
	color: #FFF!important;
}
.underLine{
	text-decoration: underline!important;
}
/* pc用 navigation 
--------------------*/

.navigation {
	position: fixed;
	right: calc((44vw - 500px) / 2 );
	top: calc((100vh - 70vh) / 2 );
}

.navigation .gnav {
	margin-left: auto;
	margin-right: auto;
	max-width: 350px;
	width: 25vw;
}

.navigation .gnav .btn {
	margin-top: 6vh;
}

.navigation .gnav .btn li{
	margin-top: 3vh;
}

.navigation .gnav .btn li img{
	width: 100%;
	height: auto;
}

.navigation .gnav>ul>.gnavList {
	padding-top: 2.5vh;
	padding-bottom: 2.5vh;
	border-top: 2px dotted #ffffff;
}

.navigation .gnav>ul>.gnavList a {
	padding-left: 1em;
}


.navigation .gnav>ul>.gnavList:last-child {
	border-bottom: 2px dotted #ffffff;
}
.navigation .gnav>ul>li>a {
	display: block;
	color: #ffffff;
	font-size: 16px;
	font-weight: 500;
	line-height: 32px;
	letter-spacing: 0.1em;
}
	.dispNarrow{
		display: none;
	}

@media screen and (max-width:1000px) {
	.navigation {
		display: none;
	}	
	.dispNarrow{
		display: block;
	}
}

/* pc用 背景ロゴ
--------------------*/
.bgLogo {
	position: fixed;
    display: block;
    top: calc((100vh - 30vh) / 2 );
    left: calc((40vw - 500px) / 2 );
	max-width: 401px;
	max-height: 386px;
    height: 30vw;
    width: 30vw;
    background-image: url(../img/bigLogo.png);
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -10;
}

@media screen and (max-width:1000px) {
	.bgLogo {
		display: none;
	}	
}


/* footer
--------------------*/
footer {
	padding: 22px 0 15px;
	color: #ffffff;
}

footer div {
	font-size: 12px;
	line-height: 1;
	text-align: center;
}


/* container
--------------------*/
#container {
	position: relative;
	max-width: 500px;
	margin: 0 auto;
	padding: 55px 0 0;
	overflow: hidden;
	box-shadow: 0 0 8px rgb(0, 0, 0, 0.3);
}

#container .topBtn {
	position: absolute;
	top: 15px;
	left: 140px;

}

#container .topBtn li:last-child{
	margin-left: 15px;
	
}

.flexBlock{
	display:flex;
}

/* contents
--------------------*/
#contents {}


/* wrapper
--------------------*/
#wrapper {
	position: relative;
}

/* .sec_main */
#wrapper .sec_main {
	background: #76A3DB;
}

#wrapper .sec_main h1+p {
	padding: 20px 0 23px;
}

#wrapper .sec_main .sec_navbtn .nav_btn {
	display: flex;
	
}
#wrapper .sec_main .sec_navbtn  {
	padding-bottom: 7%;
	
}
#wrapper .sec_main .sec_navbtn .inquiryBig {
	padding-left: 15px;
	padding-right: 15px;
}

#wrapper .sec_main .sec_navbtn .nav_btn li:first-child {
	padding: 3% 2% 2% 3%;
}
#wrapper .sec_main .sec_navbtn .nav_btn li:nth-child(2) {
	padding: 3% 3% 2% 2%;
}
#wrapper .sec_main .sec_navbtn .nav_btn.row2 li{
	padding-top: 2%;
}

#wrapper .sec_main .sec_navbtn .nav_btn li a{
	display: inline-block;
	width: 100%;
	height: 100%;
}

#wrapper .sec_main .catch {
	margin-top: 6%;
}


#wrapper .sec_main .announce1{
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	color: #ffffff;
	background-color:#D24242;
	padding: 2.8% 0 2.8% 0;
}

#wrapper .sec_main .announce2{
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	color: #D24242;
	background-color:#ffffff;
	padding: 2.8% 0 2.8% 0;
}

/* .sec_anchor */
#wrapper .sec_anchor {
	padding: 5.666% 0;
}

#wrapper .sec_anchor .inner {
	max-width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
}

#wrapper .sec_anchor .inner .btn {
	margin-bottom: 20px;
}

#anc_phone {
	text-align: center;
}

#anc_phone figure {
	padding: 4% 0 2% 0;
}

#anc_phone figure:first-child {
	padding-top: 8%;
}

#anc_phone figure:last-child {
	padding-bottom: 8%;
}

#anc_sponsor .sec_02_01 h3{
	font-size: 20px;
	font-weight: bold;
}
#anc_sponsor .sec_02_01 p{
	font-size: 18px;
	
}

#anc_sponsor .sec_02_01 .text{
	padding: 8% 0 8% 0;
}

/* ボタンのスタイル */
#wrapper .sec_anchor .inner .btn a {
	position: relative;
	display: block;
	width: 375px;
	text-decoration: none;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
}

/* アイコンのスタイル */
#wrapper .sec_anchor .inner .btn-arrow-bottom a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 27px;
	width: 9px;
	height: 9px;
	margin: auto;
	border-top: 2px solid #001e40;
	border-right: 2px solid #001e40;
	transform: translateY(-2px) rotate(135deg);
	box-sizing: border-box;
}

/* .sec_sponser */

#wrapper .sec_sponser {
	background-color: #D2E6FF;
}

#wrapper .sec_sponser.bgWhite {
	background-color: #D2E6FF;
}

#wrapper .sec_sponser.borders {
	border-top: 8px solid #001E40;
	border-bottom: 8px solid #001E40;
}

#wrapper .sec_sponser .image{
	padding-top: 6%;
}

#wrapper .sec_sponser .desc {
	font-size: 18px;
	padding: 14px 3% 0;
	color: #001E40;
	font-weight: 200;
	line-height: 32px;
	letter-spacing: -0.05em;
}

#wrapper .sec_sponser .materials {
	padding: 5% 15.6% 5% 15.6%;
}
#wrapper .sec_sponser .number {
	padding-bottom: 5%;
}

#wrapper .sec_sponser .note {
	padding: 0 3% 10% 3%;
	font-size: 15px;
}

#wrapper .giftText1 {
	position: absolute;
    left: 10%;
    top: 32%;
    color: #FFF;
    font-size: 17px;
    text-shadow: 1px 1px 0 #D24242, 
	-1px -1px 0 #D24242, 
	-1px 1px 0 #D24242, 
	1px -1px 0 #D24242, 
	0px 1px 0 #D24242, 
	0 -1px 0 #D24242, 
	-1px 0 0 #D24242, 
	1px 0 0 #D24242;
}

#wrapper .giftText2 {
	position: absolute;
    left: 13%;
    top: 32%;
    color: #FFF;
    font-size: 17px;
    text-shadow: 1px 1px 0 #D24242, 
	-1px -1px 0 #D24242, 
	-1px 1px 0 #D24242, 
	1px -1px 0 #D24242, 
	0px 1px 0 #D24242, 
	0 -1px 0 #D24242, 
	-1px 0 0 #D24242, 
	1px 0 0 #D24242;
}


/* .sec_01 */

#wrapper .sec_01{
	background-color: #D2E6FF;
}

#wrapper .sec_01 p{
	padding:6% 7% 0 3%;
}

#wrapper .sec_01 .desc{
	position: absolute;
	bottom: 2.5%;
}

#wrapper .sec_01 figure{
	padding:6% 3% 10% 3%;
}

#wrapper .sec_01 .inner {
	background: url(../img/bg_04.png) repeat-y 50% 0;
	background-color: #001e40;
	background-size: 100% auto;
}



/* .sec_02 */
#wrapper .sec_02 {
	background-color: #001E40;
	background-repeat: no-repeat;
	background-size: contain;
}

#wrapper .sec_02 .inner .note{
	padding: 6% 3% 0 0;
	font-size: 15px;
}

#wrapper .sec_02 .catch {
	padding: 10% 3% 5% 3%;
}

#wrapper .sec_02 .desc1 {
	color: #ffffff;
	padding: 0 3%;
	font-size: 18px;
}
#wrapper .sec_02 .image {
	padding: 6% 3% 5% 3%;
}

#wrapper .sec_02 .inner {
	padding-bottom: 14.5%;
	background-color: #D2E6FF;
	background-size: 100% auto;
}

#wrapper .sec_02 h3{
	padding: 5% 4% 2% 0%;
}


/* .sec_02_01 */
#wrapper .sec_02_01 {
	margin: 35px 3%;
	padding: 0 0 10%;
	background: #ffffff;
}

#wrapper .sec_02_01 .item {
	padding: 0 4.477%;
	background: #ffffff;
}

#wrapper .sec_02_01 .item+.item {
	margin-top: 7%;
}

#wrapper .sec_02_01 .item figure {
	margin: 3% 0 0;
}

#wrapper .sec_02_01 .item p.desc {
	margin-top: 5%;
	font-size: 18px;
	color: #001E40;
}


#wrapper .sec_02_01 .img02 {
	padding: 0 7% 0 7%;
}

/* .sec_02_02 */
#wrapper .sec_02_02 {
	margin: 30px 3% 0;
	padding: 0 0 10%;
	background: #ffffff;
}

#wrapper .sec_02_02 .item {
	padding: 0 4.477%;
	background: #ffffff;
}

#wrapper .sec_02_02 .item+.item {
	margin-top: 7%;
}

#wrapper .sec_02_02 .item .desc {
	font-size: 18px;
	padding: 16px 0 0;
	font-weight: 400;
}

#wrapper .sec_02_02 .mt25 {
	font-size: 18px;
}

#wrapper .sec_02_02 .item .desc span {
	font-weight: 500;
}

#wrapper .sec_02_02 .item .desc li+li {
	padding: 5px 0 0;
}


#wrapper .sec_02_02 .item_01 figure {
	margin: 16px 0 0;
}

#wrapper .sec_02_02 .item_01 figure+figure {
	margin: 10px 0 0;
}

#wrapper .sec_02_02 .item_02 figure {
	margin: 20px 0 0;
}

#wrapper .sec_02 .pd_8 {
	padding-bottom: 8%;
}

/* .sec_02_03 */
#wrapper .sec_02_03 {
	margin: 30px 3% 0;
	padding: 0 0 10%;
	background: #ffffff;
}

#wrapper .sec_02_03 .item {
	padding: 0 4.477%;
	background: #ffffff;
}

#wrapper .sec_02_03 .item+.item {
	margin-top: 23px;
	padding-top: 25px;
	border-top: 1px solid #cccccc;
}

#wrapper .sec_02_03 .item figure {
	margin: 16px 0 0;
}

#wrapper .sec_02_03 .item .desc {
	margin-right: -0.5em;
	padding: 16px 0 0;
	font-weight: 500;
}

#wrapper .sec_02_03 .item .desc span {
	font-weight: 500;
}

#wrapper .sec_02_03 .item .desc li+li {
	padding: 7px 0 0;
}


/* .sec_02_04 */
#wrapper .sec_02_04 {
	margin: 30px 3% 0;
	padding: 0 0 10%;
	background: #ffffff;
}

#wrapper .sec_02_04 .item {
	padding: 0 4.477%;
	background: #ffffff;
}

#wrapper .sec_02_04 .item+.item {
	margin-top: 23px;
	padding-top: 25px;
	border-top: 1px solid #cccccc;
}

#wrapper .sec_02_04 .item figure {
	margin: 16px 0 0;
}

#wrapper .sec_02_04 .item .desc {
	margin-right: -0.5em;
	padding: 16px 0 0;
	font-weight: 500;
}

#wrapper .sec_02_04 .item .desc span {
	font-weight: 500;
}

#wrapper .sec_02_04 .item .desc li+li {
	padding: 7px 0 0;
}


/* .sec_contact */
#wrapper .sec_contact {
	background: #001e40;
}

#wrapper .sec_contact .inner {
	margin: 0px 0 -10px;
	/*padding: 40px 4.477% 32px;*/
	padding: 5px 4.477% 10px;
	background: #ffffff;
}

#wrapper .sec_contact .inner h3 {
	font-size: 0;
	line-height: 0;
}


/*
===== 2: Module ===========================*/

/* sec_bread_crumbs
--------------------*/
.sec_bread_crumbs {}


/* h
--------------------*/
.h_lv_01 {}


/* sec_bt
--------------------*/
/* sec_bt_01 */
.sec_bt_01 {}



/* hr
--------------------*/
hr {}


/* Link setting
-------------------------------------*/
a:link {
	color: #00214B;
	text-decoration: none;
}

a:visited {
	color: #00214B;
	text-decoration: none;
}

a:active {
	color: #00214B;
	text-decoration: none;
}

a:hover {
	color: #00214B;
	text-decoration: none;
}

.hoverOpacity:hover{
	opacity: 0.7;
	transition: 0.5s;
}

@media screen and (max-width:1000px) {
	.hoverOpacity:hover{
		opacity: 1;
	}
}

/* Background Color
-------------------------------------*/
.bgWhite {
	background-color: #ffffff!important;
}
/*
===== 3: Common ===========================*/
.borderTopBtm{
	border-top:solid 8px #001E40 ;
	border-bottom:solid 8px #001E40 ;
}

.sp_hidden {
	display: none !important;
}

.br_pc {
	display: none !important;
}

#container .hidetxt {
	text-indent: -9999px;
	overflow: hidden;
}

#container .ls,
#container .lc {
	float: left;
}

#container .rs,
#container .rc {
	float: right;
}

#container .tx_l {
	text-align: left !important;
}

#container .tx_c {
	text-align: center !important;
}

#container .tx_r {
	text-align: right !important;
}

#container .va_t {
	vertical-align: top !important;
}

#container .va_m {
	vertical-align: middle !important;
}

#container .va_b {
	vertical-align: bottom !important;
}

#container .img_txt {
	font-size: 0;
	line-height: 0;
}

#container .tx_notfound {
	margin: 75px 0 0;
	text-align: center;
}

/*--- position ---*/
.relative {
	position: relative;
}

/*--- text align ---*/

.alignCenter {
	text-align: center;
}

/*--- font size ---*/
.text14 {
	font-size: 14px!important;
}

.text18 {
	font-size: 18px!important;
}

/*--- margin ---*/
#container .mt0 {
	margin-top: 0px !important;
}

#container .mt5 {
	margin-top: 5px !important;
}

#container .mt10 {
	margin-top: 10px !important;
}

#container .mt15 {
	margin-top: 15px !important;
}

#container .mt20 {
	margin-top: 20px !important;
}

#container .mt25 {
	margin-top: 25px !important;
}

#container .mt30 {
	margin-top: 30px !important;
}

#container .mt35 {
	margin-top: 35px !important;
}

#container .mt40 {
	margin-top: 40px !important;
}

#container .mt7p {
	margin-top: 7% !important;
}

#container .ml3p {
	margin-left: 3% !important;
}

#container .pt0 {
	padding-top: 0px !important;
}

#container .pt5 {
	padding-top: 5px !important;
}

#container .pt10 {
	padding-top: 10px !important;
}

#container .pt15 {
	padding-top: 15px !important;
}

#container .pt20 {
	padding-top: 20px !important;
}

#container .pt25 {
	padding-top: 25px !important;
}

#container .pt30 {
	padding-top: 30px !important;
}

#container .pt35 {
	padding-top: 35px !important;
}

#container .pt40 {
	padding-top: 40px !important;
}


/*
===== 4: clearfix ===========================*/

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0;
	line-height: 0;
}

.clearfix {
	display: inline-block;
}

/* Hides from IE-mac ¥*/
* html .clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}

/* End hide from IE-mac */