@charset "UTF-8";

/*******************************************
*
* css for page frame
* ver 1.0
*
********************************************/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');


@font-face {
  font-family: 'daiwa_icf';
  src:  url('fonts/daiwa_icf.eot?jwgbyj');
  src:  url('fonts/daiwa_icf.eot?jwgbyj#iefix') format('embedded-opentype'),
    url('fonts/daiwa_icf.ttf?jwgbyj') format('truetype'),
    url('fonts/daiwa_icf.woff?jwgbyj') format('woff'),
    url('fonts/daiwa_icf.svg?jwgbyj#daiwa_icf') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.extLink,
.exStuff:before,.exStuff:after,
[class^="icn-"], [class*=" icn-"],
[class^="icn-"]:before, [class*=" icn-"]:before,
[class^="icn-"]:after, [class*=" icn-"]:after,
input[type="submit"],
input[type="button"],
#gavi li > a:before,
#ancarlink li > a:before,
a > span:after,
a > span:before,
a:after,
a:before{
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'daiwa_icf' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* ==========================================================
*
* Basic Setting
*
========================================================== */

html,
body {
    width: 100%;
    min-height:100%;
}

html {
    font-size: 62.5%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: "palt";
}

body {
    font-size: 1.4rem;
    line-height: 125%;
	font-family: 'Noto Sans JP', sans-serif;
    background-color:#ffffff;
    letter-spacing:0.05em;
}


body.locked {
    height: 100%;
    overflow: hidden;
}

input,
textarea{
	font-family: 'Noto Sans JP', sans-serif;
}

*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
}

a{
	color:#404f6f;
	text-decoration:none;
}

a:link{
	color:#404f6f;
}

a > img{
	transition: all 0.3s ease-out;
	-webkit-transition: all 0.3s ease-out;
}

.pc a:hover{
	color:#404f6f;
	text-decoration:underline;
}

.pc a:hover > img{
	opacity:0.5;
}


a[href^="http"][target="_blank"] > span:after{
/*a.extLink > span:after{
a[href^="http"] > span:after{*/
	content: "\e900";
	color:#fa0046;
	margin-left: 0.25em;
}

/*dl.dateLista .extLink > span:after{
	content: "\e900";
	color:#fa0046;
	margin-left: 0.25em;
}*/

a[href$=".pdf"][target="_blank"] > span:after {
	content: "\e908";
	color:#fa0046;
	margin-left: 0.25em;
}


.icn-link:before{
	content: "\e902";
	color:#fa0046;
	margin-right: 0.25em;
}


.icn-blank:before{
	content: "\e907";
	color:#fa0046;
	margin-right: 0.25em;
}


.innerFrame{
	display:block;
	width:100%;
	max-width:1000px;
	/*min-width: 950px;*/
	margin:0 auto;
	position:relative;
}


/* for TB ---------------------------------*/
@media screen and ( max-width:1019px) {
	.innerFrame{
		padding:0 10px;
	}
}

/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {

	.innerFrame{
		width:100%;
		padding: 0 20px;
	}
}

/* ==========================================================
*
* ヘッダ
*
========================================================== */
header{
	display:block;
	width:100%;
	height:96px;
	background-color:#ffffff;
	/*border-top:3px solid #fa0046;*/
	border-bottom:1px solid #b3b3b4;
	position:absolute;
	z-index:1000;
}

header .innerFrame{
	height:96px;
}


/*サイトロゴ*/
#hdLogo{
	display:inline-block;
	overflow: hidden;
	width:140px;
	height:37px;
	position:absolute;
    top:50%;
    left:0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

#hdLogo a{
	display:inline-block;
	overflow:hidden;
}

#hdLogo span{
	display:none;
}

#hdLogo img{
	width:100%;
	height:auto;
}


/* for TB ---------------------------------*/
@media screen and ( max-width:1019px) {

	#hdLogo{
		left:10px;
	}
}


/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {

	header{
		height:calc(12vw + 3px);
		border-bottom:6px solid #b3b3b4;
		position:fixed;
	}

	header .innerFrame{
		height:100%;
	}

	#hdLogo{
		width:auto;
		height:auto;
		line-height:100%;
	    position:absolute;
	    top:50%;
	    left:10px;
	    transform: translateY(-50%);
	    -webkit-transform: translateY(-50%);
	}

	#hdLogo img{
		width:auto;
		height:5.5vw;
	}

}


/*------------------------------------------
 グローバルナビ
 ------------------------------------------*/
nav{
	/**/
}


ul#gavi{
	display:inline-block;
	overflow:hidden;
	position:absolute;
	bottom:6px;
	left:160px;
}

ul#gavi > li{
	display:inline-block;
	margin-left:1em;
}

ul#gavi > li > a{
	display:block;
	overflow:hidden;
	font-size:1.2rem;
	line-height:125%;
	color:#000000;
	border-bottom:1px solid #ffffff;
}


ul#gavi > li:first-child{
	margin:5px 0;
}

ul#gavi li > a:before{
	content: "\e902";
	color:#fa0046;
	padding-right:0.25em;
}


#exLink{
	display:inline-block;
	overflow:hidden;
	position:absolute;
	top:10px;
	right:0;
	font-size:1.2rem;
	text-align:right;
}
#exLink a{
	display:inline-block;
	overflow:hidden;
	color:#000000;
	line-height:125%;
	border-bottom:1px solid #ffffff;
}

#exLink a[href^="http"] > span:after{
	content:"";
}

#exLink a+a{
	margin-left:1em;
}

.pc #gavi a:hover,
.pc #exLink a:hover{
	color:#404f6f;
	text-decoration:none;
	border-bottom:1px solid #333333;
}


/* for TB ---------------------------------*/
@media screen and ( max-width:1019px) {

	#exLink{
		right:10px;
	}

}

@media screen and ( max-width:910px) {

	#exLink a{
		display:inline-block;
	}
	#exLink a:first-child{
		margin-right:1em;
		margin-bottom:0;
	}

}



/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {

	nav{
		display:none;
	}
}


/*------------------------------------------
 スマホナビ
 ------------------------------------------*/

/*開閉ボタン*/
a#menuBtn{
	display:none;
	width:12vw;
	height:12vw;
	position:absolute;
	top:0;
	right:0;
}

a#menuBtn > p{
	display:block;
	overflow:hidden;
	width:100%;
	height:100%;
	position:relative;
	margin-top:-2px;
}

a#menuBtn > p > span{
	display:block;
	overflow:hidden;
	width:50%;
	height:3px;
	background-color:#000000;
	position:absolute;
    left:50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);

	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	transform-origin: 50% 50%;
}

a#menuBtn > p > span:nth-child(1){
	top:30%;
}

a#menuBtn > p > span:nth-child(2){
	top:50%;
}

a#menuBtn > p > span:nth-child(3){
	top:70%;
}

/*スマホナビフレーム*/
#spNavi{
	display:none;
	overflow-y:auto;
	width:100%;
	height:calc(100vh - 12vw);
	background-color:#ffffff;

	z-index:1024;
	position:absolute;
	top:12vw;
	left:-100%;

	transition: all 0.3s ease-out;
	-webkit-transition: all 0.3s ease-out;
}

/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {

	#spNavi{
		display:block;
	}

	a#menuBtn{
		display:inline-block;
	}
}


/*スマホナビ本体*/
#naviBody{
	display:block;
	overflow:hidden;
	width:100%;
	padding:0 0 0;
}


#naviBody ul{
	display:block;
	overflow:hidden;
}

#naviBody ul > li{
	display:block;
	overflow:hidden;
}

#naviBody ul > li > a{
	display: block;
	overflow: hidden;
	font-size: 1.6rem;
	padding:1em 1em;
}

#naviBody ul > li > a{
	border-bottom:1px solid #e6e6e6;
}

#naviBody ul > li > ul{
	/*margin-left:2em;*/
}

#naviBody ul > li > ul > li > a{
	padding-left:2.5em;
}


#naviBody ul li > a > span:before{
	content: "\e902";
	color:#fa0046;
	margin-right:0.5em;
	float:left;
}
#naviBody ul li > a > span:after{
	content: ""!important;
}

#naviBody ul li > a[href^="http"] > span:before {
    content: "\e907";
    margin-left: 0.25em;
}
#naviBody ul li > a[href$=".pdf"] > span:before {
    content: "\e908";
    margin-left: 0.25em;
}


ul#pglinks > li > a{
	font-weight:bold;
}

#naviBody h3{
	display:block;
	overflow:hidden;
	font-size:1.6rem;
	font-weight:bold;
	line-height:125%;
	padding:2em 1em 1em;
	border-bottom:1px solid #e6e6e6;
}

ul#pglinksEx{
	margin-top:2em;
	border-top:1px solid #e6e6e6;
}

/*------------------------------------------
 Open Menu
 ------------------------------------------*/
@media screen and ( max-width:896px) {

	body.opmenu {
        height:100%;
        overflow:hidden;
    }

	.opmenu a#menuBtn > p > span:nth-child(1){
		transform: rotate(225deg);
		width: 70%;
		top: 50%;
		left: 25%;
	}
	.opmenu a#menuBtn > p > span:nth-child(2){
		opacity:0.0;
	}
	.opmenu a#menuBtn > p > span:nth-child(3){
		transform: rotate(-225deg);
		width: 70%;
		left: 25%;
		top: 50%;
	}

	.opmenu #spNavi{
		left:0;
	}

}


/* ==========================================================
*
* 本文
*
========================================================== */
#mainFrame{
	display:block;
	overflow:hidden;
	position:relative;
	padding-top:96px;
}


/*本文パーツ*/
h2.copyTxt{
	display:block;
	overflow:hidden;
	text-align:center;
	font-size:2.4rem;
	font-weight:bold;
	line-height:155%;
	color:#000000;
	margin:80px 0;
}

h2.copyTxt > sup{
	font-size:0.75em;
}



/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {

	#mainFrame{
		padding-top:12vw;
	}

	#contentBody > .innerFrame{
		width:100%;
	}

	h2.copyTxt{
		font-size:2.0rem;
		margin:40px 0;
	}


}


/*------------------------------------------
 パンくずリスト
 ------------------------------------------*/
#breadcrumb{
	display:block;
	overflow:hidden;
	padding: 0.5em 0;
	color:#727171;
}

#breadcrumb > ul{
	display:inline-block;
	overflow:hidden;
	font-size: 1.2rem;
	line-height: 125%;
	float:left;
}

#breadcrumb > ul > li{
	display:inline-block;
	overflow: hidden;
}

#breadcrumb > ul > li:after{
	content:">";
	margin-left: 5px;
}
#breadcrumb > ul > li:last-child::after{
	content:"";
}

#breadcrumb > ul > li > a{
	color:#717071;
}

#breadcrumb > ul > li > a:hover{
	color:#404f6f;
}

#breadcrumb > p{
	display:inline-block;
	overflow:hidden;
	font-size: 1.2rem;
	line-height: 125%;
	color:#717071;
	float:right;
}


/* for TB ---------------------------------*/
@media screen and ( max-width:1019px) {
	#breadcrumb{
		padding: 0.5em 10px;
	}
}


/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {

	#breadcrumb{
		display:none;
	}

}


/*------------------------------------------
 タイトルイメージ
 ------------------------------------------*/
#topImage{
	display:block;
	overflow:hidden;
	width:100%;
	height:200px;
	text-align:center;
	background-position:50% 50%;
	background-repeat: no-repeat;
	background-size:cover;
	background-color:#f7f7f7;
	position: relative;
}

#topImage:before{
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-color: rgba(0,0,0,0.3);
}


.pgTtl{
	display:block;
	overflow:hidden;
	text-align:center;
	white-space: nowrap;
	color:#ffffff;
}

#topImage >.pgTtl{
	position:absolute;
    top:50%;
    left:50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

.pgTtl > h1{
	display:inline-block;
	font-size:2.8rem;
	line-height:155%;
	font-weight:bold;
	position:relative;
	padding:0 40px;
}

.pgTtl > p.enTtl{
	display:block;
	font-size:1.4rem;
	color:#e60038;
	line-height:125%;
}



/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {

	#topImage{
		height:25vw;
	}

	.pgTtl > h1{
		font-size:2.0rem;
	}

	.pgTtl > p.enTtl{
		font-size:1.2rem;
	}

}


/*------------------------------------------
 基本ボタンセット
 ------------------------------------------*/
*[class$='Btn']{
	display:inline-block;
	overflow:hidden;
	min-width:200px;
	padding:0.75em 0.5em;
	text-align:center;
	text-decoration:none;
	font-size:1.6rem;
	line-height:125%;
	vertical-align:middle;

}

*[class$='Btn']:hover{
	text-decoration:none!important;
}


.w400{
	width:400px;
}


/*白角ボタン*/
a.linkedBtn{
	border:1px solid #000000;
	background-color:#ffffff;
	color:#000000;
	font-size:1.8rem;
	line-height:125%;
}

a.linkedBtn:hover{
	background-color:#000000;
	color:#ffffff;
}

a.linkedBtn > span{
	display:inline-block;
	vertical-align:bottom;
	/*margin:0 2em;*/
}

a.linkedBtn:after{
	display:inline-block;
	content: "\e902";
	color:#e51d45;
	float:right;
}
a.linkedBtn[href^="http"] > span:after{
	content:"";
}

/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {

	a.linkedBtn{
		max-width:100%!important;
		font-size:1.6rem;
	}

}


/*------------------------------------------
 最終ライン
 ------------------------------------------*/
#endline{
	display:block;
	overflow:hidden;
	padding:40px 0;
	text-align:center;
	/*border-top:1px solid #9e9e9f;*/
}


a#toTop{
	display:inline-block;
	overflow:hidden;
	line-height:125%;
	text-align:center;
	color:#000000;
}

a#toTop::before{
	content: "\e906";
	display: block;
	color:#ea636d;

}
a#toTop > span{
	display:block;
	font-size: 12px;
	margin-top: 0.5em;
}

a#toTop:hover{
	/**/
	text-decoration: none;
	opacity: .5;
}


/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {

	#endline{
		padding:30px 0;
	}

	#endline a.roundBtn{
		width:100%;
	}

}



/*------------------------------------------
 コンパクトモード
 ------------------------------------------*/
.compact header{
	height:48px;
	position:fixed;
	top:0x;
	animation-name: nav-motion;
    animation-duration: 0.5s;
}

.compact header .innerFrame{
	height:48px;
}

.compact #hdLogo{
	width: 103px;
	height:27px;
}

.compact #exLink{
	display:none;
}

.compact ul#gavi{
	position:absolute;
	bottom:auto;
    top:50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}



@keyframes nav-motion{
    0%{
        top: -48px;
    }
    100%{
        top: 0;
    }
}


/* ==========================================================
*
* フッタ
*
========================================================== */
footer{
	display:block;
	overflow:hidden;
	width:100%;
}


/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {
	/**/
}


/*------------------------------------------
 グループリンク
 ------------------------------------------*/
#groupLinks{
	display:block;
	overflow:hidden;
	padding:9px 0  5px;
	background-color:#6e6e6e;
	color:#ffffff;
}

#groupLinks h5{
	display:inline-block;
	overflow:hidden;
	font-size:1.2rem;
	line-height:175%;
	width: 173px;
	float:left;
}

#groupLinks ul{
	display:inline-block;
	overflow:hidden;
	width: calc(100% - 173px);
	font-size:1.2rem;
}

#groupLinks ul > li{
	display:inline-block;
	margin-right: 18px;
    margin-bottom: 3px;
}
#groupLinks ul > li.wide{
	display:block;
	margin-right: 0;
}

#groupLinks a{
	color: #ffffff;
	margin-right: 0.25em;
}
#groupLinks a:hover{
	text-decoration:underline;
}

#groupLinks a > span:after{
	/*content: "\e900";
    margin-left: 0.25em;*/
    color: #ffffff;
}

/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {
	#groupLinks{
		display: none;
	}
}

/*------------------------------------------
 フッタナビ
 ------------------------------------------*/
#footerNavi{
	display:block;
	overflow:hidden;
	margin: 24px 0 0;
}

#footerNavi .innerFrame > img{
	float:left;
}

#footerNavi ul{
	display:inline-block;
	overflow:hidden;
	margin-left:23px;
	letter-spacing:-.4em;
}

#footerNavi ul > li{
	display:inline-block;
	overflow:hidden;
	letter-spacing:normal;
}

#footerNavi ul > li > a{
	font-size:1.2rem;
	line-height:125%;
	padding: 0 1em;
	color:#4d4d4f;
	border-right: 1px solid #4d4d4f;
}

.pc #footerNavi ul > li > a:hover{
	color:#404f6f;
	text-decoration:underline;
}


#footerNavi ul > li:last-child > a{
	border-right:none;
}

ul#ftLinks a > span:after,
ul#extraLinks a > span:after{
	content:""!important;
	display:none!important;
}


/* for TB ---------------------------------*/
@media screen and ( max-width:1019px) {

	#footerNavi .innerFrame > img:nth-child(2){
		right:10px;
	}
}

@media screen and ( max-width:770px) {

	#footerNavi{
		text-align:center;
		margin: 0 0 0;
	}

	#footerNavi .innerFrame > img{
		float:none;
	}

	#footerNavi ul > li{
		margin:5px 0;
	}

	#footerNavi ul > li > a{
		padding: 0 0.5em;
	}
}


/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {

	#footerNavi{
		text-align:center;
		border-top:3px solid #fa0046;
	}

	#footerNavi ul{
		display:block;
		margin-left:0;
	}

	#groupLinks,
	ul#ftLinks{
		display:none;
	}

	#footerNavi .innerFrame > img{
		float: none;
		margin:1em 0;
		width:33vw;
		height:auto;
	}
}

/*------------------------------------------
 コピーライト
 ------------------------------------------*/
#copy{
	display:block;
	margin:0 auto 15px;
	text-align:right;
}

#copy img{
	position:absolute;
	top:calc(-1.5em + -17px);
	right:0;
}

#copy > span{
	display:block;
	font-size:1.2rem;
	line-height:125%:;
	color:#4d4d4f;
}

/* for TB ---------------------------------*/
@media screen and ( max-width:880px) {
	#copy{
		text-align:center;
		margin:1em auto 1em;
	}

	#copy img{
		position:relative;
		top:auto;
		right:auto;
		margin-bottom:5px;
	}
}


/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {
	#copy{
		text-align:center;
		margin:1em auto 1em;
	}

	#copy img{
		display:none;
	}
}


/* ==========================================================
*
* 共通パーツ
*
========================================================== */
#extraFld{
	clear:both;
	display:block;
	overflow:hidden;
	margin:40px 0;
}

.alCenter{
	text-align:center;
}

.alRight{
	text-align:right;
}

.redTxt{
	color:#e50012;
}

.sTxt{
	font-size:0.8em;
}

strong{
	font-weight:bold;
}

.noPC{
	display:none;
}

a[href="#NoFile"]{
	pointer-events:none;
	color:#333333;
}
a[href="#NoFile"] > span:after{
	content:"（準備中）";
	margin-left:0.5em;
}

/* for TB ---------------------------------*/
@media screen and ( max-width:896px) {
	/**/
}


/* for SP --------------------------*/
@media screen and ( max-width:750px) {

	#extraFld{
		padding:0 20px;
	}

	.noSP{
		display:none;
	}

	.noPC{
		display:initial;
	}

}


/*------------------------------------------
 ドットリスト
 ------------------------------------------*/
ul.dotList{
	display:block;
	overflow:hidden;
	list-style-type:disc;
}

ul.dotList > li{
	margin-left: 1.5em;
	margin-bottom:0.5em;

}

/*------------------------------------------
 ナンバリングリスト
 ------------------------------------------*/
ol.numList{
	display:block;
	overflow:hidden;
	list-style-type:decimal;
}

ol.numList > li{
	margin-left: 2.5em;
	margin-bottom:0.5em;

}

/*------------------------------------------
 ノーマルDLリスト
 ------------------------------------------*/
dl.iniList > dt,
dl.iniList > dt{
	display:block;
	overflow:hidden;
}

dl.iniList > dd{
	padding-left:2em;
	margin-bottom:1em;
}

/*枠付きボックス*/
.borderedBox {
    display: block;
    overflow: hidden;
    margin: 1em auto;
    padding: 1em;
    border: 1px solid #efefef;
}


/*------------------------------------------
 日付リスト
 ------------------------------------------*/
dl.dateList{
	display:block;
	overflow:hidden;
	border-bottom:1px solid #e6e6e6;
	line-height:155%;
}

dl.dateList > dt,
dl.dateList > dd{
	display:block;
	overflow:hidden;
	padding:1.0em 0.5em;
	border-top:1px solid #e6e6e6;
	float:left;
}

dl.dateList > dt{
	width:8em;
	clear:both;
}

dl.dateList > dd{
	width: calc(100% - 8em);
}

dl.dateList > dd > a{
	display:inline-block;
	overflow:hidden;
}


/* for SP --------------------------*/
@media screen and ( max-width:896px) {

	dl.dateList > dt,
	dl.dateList > dd{
		float:none;
		width:100%;
	}

	dl.dateList > dt{
		padding-bottom:0;
		padding:1.0em 20px 0;
	}

	dl.dateList > dd{
		border-top:none;
		padding:0.5em 20px 1em;
	}

	dl.dateList > dd > a{
		display:block;
	}

	dl.dateList > dd > a[href$=".pdf"]{
		margin-left:0;
	}

}


/*------------------------------------------
 注意書きテキスト
 ------------------------------------------*/
.cautionTxt{
	text-indent: -1em;
	padding-left: 1em;
	font-size:1.2rem;
	line-height:155%;
}

/*------------------------------------------
 注意書きリスト
 ------------------------------------------*/
dl.cautionList{
	display:block;
	overflow:hidden;
	font-size:1.2rem;
	line-height:155%;
}
dl.cautionList > dt,
dl.cautionList > dd{
	display:block;
	overflow:hidden;
	float:left;
}

dl.cautionList > dt{
	width:2.5em;
	clear:both;
}

dl.cautionList > dd{
	width:calc(100% - 2.5em);
	margin-bottom:0.25em;
}


/*------------------------------------------
 問い合わせボタンエリア
 ------------------------------------------*/
#contactLine{
	display:block;
	overflow:hidden;
	text-align:center;
	margin:40px 0 0;
}

#contactLine a.linkedBtn{
	min-width:320px;
}
 
/* for SP ---------------------------------*/
@media screen and ( max-width:896px) {

	#contactLine a{
		width:100%;
		margin: 0 0;
	}

}
