 jmn7@charset "utf-8";
 @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Sawarabi+Gothic&display=swap');






/*========= 共通設定 ===============*/




html {
 font-size: clamp(0.8rem, calc(100vw * 16 / 1400), 1rem);
}

body {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Helvetica Neue", Arial, Meiryo, sans-serif;
	line-height: 2.5rem;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-weight: 400;
	letter-spacing: 0.05em;
}

a {
	text-decoration: none;
}

a:link {
	color: #FFFFFF;
	text-decoration: underline;
}

a:visited {
	color: #FFFFFF;
	text-decoration: underline;
}

a:hover {
	color: #FF9900;
	text-decoration: underline;
}

a:active {
	color: #FF6600;
}

h1 {
	font-weight: 700;
	margin-top: 5rem;
	margin-bottom: 0rem;
 font-size: clamp(2.6rem, calc(100vw * 16 / 1400 + 1.8rem), 2.8rem);
	letter-spacing: 0.14em;
}

h2 {
	font-weight: 300;
 font-size: clamp(1.4rem, calc(100vw * 16 / 1400 + 1.8rem), 1.6rem);
	letter-spacing: 0.1em;
	margin: 0rem;
}

p {
	margin:0;
}

h2, h3, h4, h5 {
	font-weight: 600;
	line-height: 3rem;
	letter-spacing: 0.14em;
	color: #666;
}

.navbar-toggler {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}

.weight100 {
	font-weight: 100
}

.weight300 {
	font-weight: 300
}

.weight400 {
	font-weight: 400
}

.weight500 {
	font-weight: 500
}

.weight600 {
	font-weight: 600
}

.weight700 {
	font-weight: 700
}

.weight900 {
	font-weight: 900
}


.copyright{
	font-size:0.7rem;
}

.form-width { max-width: 90%!important;}


.checkbox {
  display: flex;
  align-items: center;
}





/*========= テーブルのためのCSS ===============*/





table {
	table-layout: fixed;	
	margin: 20px auto;
	width: 100%;
	position: relative;	
}

 .tbl-r02 {
	position: relative;
}

.tbl-r02 th {
	border: solid 1px #CCC;
	background-color: #F0FCFF;
	text-align: center;
	padding-top: 1.5rem;
	padding-right: 10px;
	padding-bottom: 1.5rem;
	padding-left: 10px;
}

.tbl-r02 td {
	border: solid 1px #CCC;
	padding-top: 1.5rem;
	padding-right: 10px;
	padding-bottom: 1.5rem;
	padding-left: 10px;
}




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




#wrapper copy {
	text-align: center;
	padding-top: 0px;
	padding-right: 100px;
	padding-bottom: 300px;
	padding-left: 100px;
}

#wrapper .wave {
	padding-top: 50px;
	padding-right: 5%;
	padding-left: 5%;
	padding-bottom: 300px;
}

#wrapper .wave_bottom {
	padding-top: 50px;
	padding-right: 5%;
	padding-left: 5%;
	padding-bottom: 0px;
}

header {
	width: 100%;
	display: block;
}










/*========= トップページ ===============*/












/*========= クラスをjQueryで付与・削除  ===============*/


nav.globalMenuSp.active {
	transform: translateX(0%);
}


.hover-f60:hover {
	color: #33CCFF;
}





/*========= ナビゲーション ===============*/




nav ul{
display: table;
margin: 0 auto;
padding: 0 ;
width: 100%;
}

nav li{
display: table-cell;
min-width: 50px;
}

nav a{
display: block;
width: 100%;
text-decoration: none;
padding-bottom: 5px;
}



/*========= フッター部分 ===============*/


footer {
	bottom: 0;
	width: 100%;
	position: relative;
	display: block;
	margin-top: 1rem;
	height: 6rem;
	background-color: #00B900;
	color: #FFF;
	vertical-align : middle;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

footer div p {
		line-height: 2rem!important;
}



.footer-navi {
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.05em;
	font-weight: 500;
}


.copy {
	font-size:1rem;
	line-height:1.5;
	letter-spacing:0.05em;
}





/*========= プライバシー ===============*/



.main-container{
	width: 920px;
	margin-right: auto;
	margin-left: auto;
}


.profile_dl {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-direction: row;
	border-bottom: 1px solid #dbdad8;
}

.profile_dl:first-of-type {
	border-top: 1px solid #dbdad8;
}

dl {
	display: block;
	margin-block-start: 1em;
	margin-block-end: 1em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
}

*, ::after, ::before {
	box-sizing: border-box;
}

.profile_dt {
	padding: 31px 10px 33px 0;
	padding: 1.61vw 0.714vw 1.75vw 0;
	width: 26.27%;
}

dt {
	display: block;
}

.profile_dd {
	flex: 1;
	padding: 1.61vw 0 1.75vw 0;
}

dd {
	display: block;
	margin-inline-start: 40px;
}


dd a:link {
	color: #000000;
	text-decoration: underline;
}


dd a:visited {
	color: #000000;
	text-decoration: underline;
}

/*========= 上へボタン ===============*/

a.btn--circle {
  width: 60px;
  height: 60px;
  padding: 0;
  background: #fff;
  border-radius: 50%;
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
}

a.btn--circle i {
  font-size: 150%;
  line-height: 60px;
  -webkit-transition: all .3s;
  transition: all .3s;
  letter-spacing: 0;
}

a.btn--circle:hover i {
  line-height: 55px;
}






/*========= 画面サイズが1200px以下 ===============*/


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

html {
 font-size: clamp(0.8rem, calc(100vw * 16 / 1200), 1.1rem);
}

.container {
	width: 1200px;
	margin-right: auto;
	margin-left: auto;
}
	



/*========= 画面サイズが992px以下 ===============*/


 @media screen and (max-width:992px) {
 html {
 font-size: clamp(0.8rem, calc(100vw * 16 / 992), 1.1rem);
}
 .container {
 width: 100%;
 margin-right: auto;
 margin-left: auto;
}
	
.main-container{
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}


/*========= 画面サイズが768px以下 ===============*/


 @media screen and (max-width:768px) {
 html {
 font-size: clamp(0.8rem, calc(100vw * 16 / 768), 1.1rem);
}

 h1 {
 font-weight: bolder;
 margin-top: 2rem;
 margin-bottom: 0.5rem;
 font-size: clamp(1.6rem, 2rem, 2.1rem);
}
 .profile_dl {
 display: block;
}

.profile_dt {
	width: 50%;
}

.main-container{
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}


/*========= テーブル設定 ===============*/


  .last td:last-child {
 border-bottom: solid 1px #ccc;
    width: 100%;
}
 .tbl-r02 {
 max-width: 98%;
}
 .tbl-r02 th, .tbl-r02 td {
　　border-bottom: none;
 display: block;
 width: 100%;
 margin: 0 0 -1px;
 padding-top: 1rem;
 padding-right: 10px;
 padding-bottom: 1rem;
 padding-left: 10px;
 vertical-align:middle;
}
 form table {
 max-width:100%;
 padding-top: 1rem;
 padding-right: 10px;
 padding-bottom: 1rem;
 padding-left: 10px;
}


}


/*========= 画面サイズが575px以下 ===============*/


 @media screen and (max-width:575px) {
 html {
 font-size: clamp(0.8rem, calc(100vw * 16 / 575), 1.1rem);
}
 .box1 {
 height: auto;
}

.copy {
	text-align:center;
}

.footer-logo {
	text-align:center;
}


.button a {
	margin-right: auto;
	margin-left: auto;
}


}




