@charset "utf-8";

html, body, div, h1, h2, h3, h4, h5, h6,
p, ul, ol, li, dl, dt, dd, address, hr,
pre, blockquote, ins, del, form, fieldset, legend,
table, caption, thead, tfoot, tbody, tr, th, td {
	padding: 0;
	margin: 0;
}
body {
	font-size: 10px;
	font-family: "Lucida Sans Unicode", "Lucida Grande", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 1.0em;
}
ul p, ol p, dl p, table p,
ul ul, ol ul, dl ul, table ul,
ul ol, ol ol, dl ol, table ol,
ul dl, ol dl, dl dl, table dl,
ul pre, ol pre, dl pre, table pre {
  font-size: 1.0em;
  margin: 0;
}
fieldset {
	border: 0;
}
input, textarea, button, select {
  font-family: inherit;
  font-size: 1.0em;
  line-height: inherit;
  color: inherit;
}
ul table, ol table, dl table, table table {
	font-size: 1.0em;
}
img, object {
  border: 0;
  vertical-align: bottom;
}
br {
	letter-spacing: 0;
}










/*hum-menu*/
.cp_fullscreenmenu {position: fixed; z-index: 9999; top: 0; right: 0px; color:#FFF; font-size:13px;}
* {-webkit-box-sizing: border-box; box-sizing: border-box; }
a,
a:visited,
a:hover,
a:active {text-decoration: none; color: inherit; }
.cp_fullscreenmenu input {display: none; }


/*menuコンテンツ*/
.cp_fullscreenmenu .menu { position: fixed; top: 0; left: 0; width: 100vw; height: 100%; background-color: rgba(14,54,111,1); overflow: scroll; padding-bottom: 100px;}
.cp_fullscreenmenu .menu label {position: absolute; top: 20px; right: 20px; width: 30px; height: 30px; cursor: pointer; background-size: 100%; }
.cp_fullscreenmenu .menu .menucont { font-size: 0.9em; text-align: left; width: 90vw; margin-right: auto; margin-left: auto; }
.cp_fullscreenmenu .menu_hr_inner{ margin-top:30px; margin-bottom:30px;}


/*クリックしたらメニューが開閉の動作*/
.cp_fullscreenmenu .menuEffects {visibility: hidden; transition: opacity 0.5s, visibility 0.5s; opacity: 0; }
.cp_fullscreenmenu .menuEffects ul {transition: all 0.5s; transform: translateY(0%); }
.cp_fullscreenmenu #menuToggle:checked ~ .menuEffects {visibility: visible; transition: opacity 0.5s; opacity: 1; }
.cp_fullscreenmenu #menuToggle:checked ~ .menuEffects ul {opacity: 1; }
.cp_fullscreenmenu #menuToggle:checked ~ .hamburger .open {background-color: transparent; }
.cp_fullscreenmenu #menuToggle:checked ~ .hamburger .open:before {position: absolute; z-index: 1; top: 0; right: 0; content: ''; transform: rotate(45deg); background-color: #fff; }
.cp_fullscreenmenu #menuToggle:checked ~ .hamburger .open:after {position: relative; z-index: 1; top: 0; right: 0; content: ''; transform: rotate(-45deg); background-color: #fff; }
.cp_fullscreenmenu #menuToggle:not(:checked) ~ .menuEffects ul {transform: translateY(-30%); }


/*ハンバーガー*/
.cp_fullscreenmenu .hamburger { position: relative; top: 0; right: 0; display: block; width: 50px; height: 60px; cursor: pointer; padding-top: 2px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; margin-top: 55px; margin-right: 20px; }
.cp_fullscreenmenu .hamburger:hover .open:before {top: -9px; }
.cp_fullscreenmenu .hamburger:hover .open:after {top: 5px; }
.cp_fullscreenmenu .open,
.cp_fullscreenmenu .open:before,
.cp_fullscreenmenu .open:after {position: relative; display: block; width: 35px; height: 3px; background-color: #0e366f; transition: all 0.3s ease; }
.cp_fullscreenmenu .open {top: 10px; cursor: pointer; }
.cp_fullscreenmenu .open:before {top: -9px; content: ''; transform: rotate(0deg); }
.cp_fullscreenmenu .open:after {top: 7px; content: ''; }
.cp_fullscreenmenu .menu.menuEffects .menucont .menu_hr_inner .menu_flex h2 { color: #044a96; letter-spacing: 0em; width: 240px; margin-top: -5px; }


/*tera*/
.cp_fullscreenmenu .contents_menu{
	padding-top: 50px;
	padding-right: 30px;
	padding-bottom: 20px;
	padding-left: 30px;
}
.cp_fullscreenmenu .stakeholders a { background-image: url(../img/header-arrow02.svg); background-repeat: no-repeat; background-position: left center; padding-left: 10px; margin-right: 2.5vw; }
.cp_fullscreenmenu .hg_menu{ margin-bottom:30px;}
.cp_fullscreenmenu .hg_flex{ display:flex; justify-content:space-between;}
.cp_fullscreenmenu .hg_link_b{
	display: flex;
	justify-content: center;
	align-items: center;
	border: thin solid #FFF;
	background: rgba(255,255,255,0.4);
	width:48%;
	height:50px;
	margin-top:20px;
	border-radius:5px;
}
.cp_fullscreenmenu .hg_link_s{
	display: flex;
	justify-content: center;
	align-items: center;
	border: thin solid #FFF;
	background: rgba(255,255,255,0.4);
	width:30%;
	height:25px;
	margin-top:20px;
	border-radius:5px;
}




/*==================================================
 アコーディオンのためのcss
===================================*/

/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    width: 96%;
    max-width: 900px;
    margin:0 auto;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:1rem;
    font-weight: normal;
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    
}
.title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    
}
.title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);

}
/*　closeというクラスがついたら形状変化　*/
.title.close::before{
  transform: rotate(45deg);
}

.title.close::after{
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
    background: #f3f3f3;
  margin:0 3% 3% 3%;
    padding: 3%;
}

/*========= レイアウトのためのCSS ===============*/








