@charset "utf-8";

/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------*/

/*全体の設定
------------------------------------------*/
html,body {height: 100%;}
body {
	margin: 0px;
	padding: 0px;
	color: #222;	/*全体の文字色*/
	font-family:"noto sans jp","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 16px;	/*文字サイズ*/
	line-height: 2;		/*行間*/
	-webkit-text-size-adjust: none;
	font-feature-settings: "palt";/*文字ツメ*/
	background-color: #f8f8f8;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}

@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/*リンク（全般）設定
-------------------------------------------------------------------------*/
a {
	transition: 0.2s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
}

header {
	height: 200px;
	overflow: hidden;
	position: relative;
	background: url(../images/def_top_img02.jpg) no-repeat center center / cover;
}
/*ロゴ画像*/
header #logo img {
	display: block;
    width: 400px;
    position: absolute;
    top: 52%;
    left: 50%;
    padding-bottom: 80px;
    transform: translate(-50%, -50%);
    animation-name: opa1;
    animation-delay: 0.5S;
    animation-duration: 1S;
    animation-fill-mode: both;
    /* backdrop-filter: blur(10px);
}
	

header {
	color: #fff; /* ヘッダーの文字色 */
}

.backcolor{
	background-color: rgba(0, 0, 0, 0.6);
}


.logo {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
    background-color: #FFC666;
}

.logo-size {
	width: 300px;
	margin: 30px 35px 5px 35px;
}

.pankuzu-list-box {
	float: right;
	text-align: right;
}
.pankuzu-list {
	width: 200px;
	margin-top: 10px;
	background-color: #8c8dab;
	font-size: 20px;
	color: white;
	text-align: center;
	border-radius: 30px;
	display: inline-block;
	position: relative;
	bottom: 90px;
	right: 60px;
	border: 2px solid #fff;
}

.pankuzu-list a{
    color: #fff;
    text-decoration: none;
}

@media screen and (max-width: 1080px) {
	.logo-size {
		/*width: 60%;*/
		width: 250px;
	}
	.pankuzu-list {
		width: 140px;
		font-size: 11px;
	}
}

@media screen and (min-width: 759px) {
	.menu-btn {
		display: none;
	}
}



















/*----------header menu ----------*/
nav {
    width: 100%;
    height: 60px;
    background-color: #ffffff;
    padding-top: 5px;
    box-sizing: border-box;
    box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.178);
	position: relative;
    bottom: 30px;
}



.nav_01{
	display: flex;
    margin: 0 auto;
    padding-top: 5px;
	justify-content: center;
}


.menu {
    list-style: none;
}

@media screen and (min-width: 960px) {
.menu {
    list-style: none;
    padding: 0px 6px;
}

#menu {
    display: block;
    text-decoration: none;
    color: #272727;
    font-weight: bold;
    font-size: 17px;
    padding: 0px 25px;
    /* margin-right: 15px;
    margin-left: 20px; */
}
}


#menu1 {
    display: block;
    text-decoration: none;
}

#menu {
    display: block;
    text-decoration: none;
    color: #272727;
    font-weight: bold;
    font-size: 17px;
    padding: 2px 10px;
}


.PCmenu{
    padding: 0px;
}
























/*ここからハンバーガーメニュー*/

.menu-btn {
    position: fixed;
    top: 20px;
    right: 10px;
    display: flex;
    height: 50px;
    width: 50px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #6186a0;
	border: #ffffffd5 solid 1px;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

#menu-btn-check:checked ~ .menu-btn span {
	/*メニューオープン時は真ん中の線を透明にする*/
    background-color: rgba(255, 255, 255, 0);
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #222;
}
.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: solid 3px #ffffff;
    border-right: solid 3px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 18px;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #6186a0;
    transition: all 0.5s;/*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}

@media screen and (min-width: 751px) {
    .menu-btn {
        display: none;
    }
}
/*ハンバーガーメニューここまでー*/
/*---------- header menu ここまで----------*/

@media screen and (max-width: 960px) {
    .nav_01{
        display: flex;
        width: 100%;
    }

	#menu {
		display: block;
		text-decoration: none;
		color: #272727;
		font-weight: bold;
		font-size: 16px;
		padding: 2px 10px;
	}
}

@media screen and (max-width: 800px) {
    #menu {
        font-size: 14px;
    }
}

@media screen and (max-width: 750px) {
	header {
        color: #fff; /* ヘッダーの文字色 */
        padding-top:15px; /* ヘッダーの上下左右の間隔 */
        padding-bottom: 15px;
	}

    nav {
        width: 100%;
        height: 70px;
        background-color: #FFC666;

        padding-top: 5px;
        box-sizing: border-box;
    }

    ul.PCmenu {
        display: flex;
    }

	#menu {
        display: block;
        text-decoration: none;
        color: #FFF;
        font-weight: bold;
        font-size: 20px;
    }

}

@media screen and (max-width: 750px) {
    nav {
        display: none;
    }
    .paging-box nav {
        display: none;
    }
    .pankuzu-list {
        display: none;
    }
}



/*ナビ下説明文*/
.pj_explanation{
	width: 80%;
	text-align: center;
	background-color: #FFA500;
	color: #FFF;
	border-radius: 30px;
	padding: 20px;
	margin: 0 auto;
	font-weight: bold;
	font-size: 16px;
}

@media screen and (max-width: 777px) {
	.pj_explanation{
		width: 85%;
		font-size: 14px;
    }
}

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




/*ヘッダのキャッチ*/
#catch-01 {
		text-align: center;
		color: #ffffff;
		position: absolute;
		top: 70%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: 18px;
		line-height: 30px;
		font-weight: bold;
		animation-name: opa1;
		animation-delay: 1S;
		animation-duration: 1S;
		animation-fill-mode: both;
		white-space: nowrap;
	}

#contents-01 {
	overflow: hidden;
	padding: 0px 0px;
}

.title01 {
	font-size: 32px;
	padding-top: 40px;
	text-align: center;
}

.title02 {
	font-size: 24px;
	padding-top: 30px;
	text-align: center;
}

.honbun01 {
	font-size: 18px;
	text-align: center;
}

.imgtype01 {
	display: block;
	width: 600px;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
}

/* ↓↓↓↓ボタンデザイン↓↓↓↓ */
.button_solid01 a {
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	max-width: 180px;
	padding: 8px;
	color: #543618;
	transition: 0.3s ease-in-out;
	font-size:12px;
	font-weight: 700;
	text-decoration:none;
	background:#fff100;
	border-radius: 10px;
	border: 0.2rem solid #543618;
	box-shadow:0 0.6rem 0 0 rgba(0, 0, 0, 0.3);
}
.button_solid01 a:hover {
	transform: translate3d(0.0rem, 0.2rem, 0);
	background:#fff100;
	box-shadow: none;
	opacity: 1;
	transition: all 0.2s;
}
/* ボタン内矢印 */
.button_solid01 a:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #543618;
    border-right: 3px solid #543618;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

.map-head-msg {
	text-align: center;
	font-weight: bold;
	font-size: 18px;
}

/*portal-japanとはボタン
--------------------------------------------*/
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}

.btn,
a.btn,
button.btn {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #272727;
  border-radius: 20px;
}









a.btn--yellow {
	background-color: #b0c4de;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	color: #ffffff;
	transition: background-position 0.5s ease; /* 背景位置の変化にアニメーションを適用 */
}





.btn-margin{
	margin: 0 auto;
	text-align: center;
	color:#FFF
}


/*47都道府県市区町村ボタン
--------------------------------------------*/

.japan_47{
	margin: 300px 50px 0 50px;
}

.japan_47 a{
	font-size: 14px;
}

.japan_text{
	text-align: center;
	background-color: #FFA500;
	color: #FFF;
	font-weight: bold;
    font-size: 20px;
	border-radius: 30px;
	padding: 15px;
	width: 70%;
	margin: 0 auto;
}

.japan_1790{
	margin-top: 65px;
	text-align: center;

	border: #FFA500 solid 1px;
	padding: 20px;
	border-radius: 20px;
}

.japan_1790 a:first-child{
	font-size: 2rem;
	font-weight: bold;
}

.japan_1790:last-child{
	margin-bottom: 100px;
}

.japan_47 a:hover{
	background-color: #FFA500;
	padding: 1px;
	border-radius: 20px;
	color: #fff;
	font-weight: bold;
}

@media screen and (max-width:751px){
	.japan_text{
		font-size: 15px;
		width: 85%;
	}
}
/*
--------------------------------------------*/





/*フッター設定
--------------------------------------------*/
footer {
	background: #FFC666;
	color: #272727;
	padding: 9px;
	text-align: center;
	padding: 30px;
	font-weight: bold;
}
footer a {
	color: #fff;	/*リンクテキストの文字色*/
	text-decoration: none;
}
footer a:hover {
	color: #fff;	/*マウスオン時の文字色*/
}
footer .pr {
	display: block;
	font-size: 80%;
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.scroll-show {display: block;}
.scroll a {
	display: block;text-decoration: none;text-align: center;
	width: 50px;		/*幅*/
	line-height: 50px;	/*高さ*/
	position: fixed;
	right: 30px;		/*右からの配置場所指定*/
	bottom: 30px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	background: rgba(0,0,0,0.4);	/*背景色。0,0,0は黒色の指定で0.4は色が40%出た状態。*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
}
/*マウスオン時*/
.scroll a:hover {
	background: rgba(0,0,0,0.8);	/*背景色。0,0,0は黒色の指定で0.8は色が80%出た状態。*/
}



/*画面幅1080px以上の設定
------------------------------------*/
@media screen and (min-width:1080px){
header {
	height: 200px;
	overflow: hidden;
	position: relative;
	background: url(../images/def_top_img02.jpg) no-repeat center center / cover;
}
/*ロゴ画像*/


#catch-01 {
    text-align: center;
    color: #ffffff;
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    line-height: 30px;
    font-weight: bold;
    animation-name: opa1;
    animation-delay: 1S;
    animation-duration: 1S;
    animation-fill-mode: both;
}

.width{
	width: 70%;
	margin:0 auto;
}

}

/*画面幅1080px以上の設定
------------------------------------*/
@media screen and (min-width:1500px){

	/*ロゴ画像*/
	header #logo img {
		display: block;
		width: 500px;	/*画像の幅*/
		position: absolute;
		  top: 60%;
		left: 50%;
		padding-bottom:120px;
		transform: translate(-50%, -50%);
		animation-name: opa1;
		animation-delay: 0.5S;
		animation-duration: 1S;
		animation-fill-mode: both;
	}
}




/*画面幅800px以下の設定
------------------------------------*/
@media screen and (max-width:800px){

	
	
	#catch-01 {
		text-align: center;
		color: #ffffff;
		position: absolute;
	  	top: 70%;
		left: 50%;
		transform: translate(-50%, -50%);
		font-size: 15px;
		line-height:30px;
		font-weight:bold;
		animation-name: opa1;
	}


	.btn, a.btn, button.btn {
		font-size: 22px;
		font-weight: 700;
		line-height: 1.5;
		position: relative;
		display: inline-block;
		padding: 1rem 4rem;
		cursor: pointer;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		text-align: center;
		vertical-align: middle;
		text-decoration: none;
		letter-spacing: 0.1em;
		color: #FFF;
		
		margin-top: 30px;
	}


}
/*media screen and (max-width:800px)*/


/*画面幅480px以下の設定
------------------------------------*/
@media screen and (max-width:480px){

	/*ロゴ画像*/
	header #logo img {
		width: 80%;	/*画像の幅*/
	}
	#catch-01 {
			font-size: 12px;
			top: 140px;
			line-height: 2.3rem;
			margin-top: 0;
	}
}

/*@media screen and (max-width:480px)*/

.content-title{
	margin: 0 auto;
	text-align: center;
}

.content-title p {
        /* padding: 33px; */
		padding: 0px 50px;
		/* padding-left: 5px; */
		font-size:15px;
		font-weight: bold;
		
		display: inline-block;
		/* width: 40%; */
		/* margin: 0 auto; */
		margin: 40px auto;
		/* text-align: center; */
		color: #000;
}

#next {
    color: #222;
    font-size: 30px;
    margin: 0 auto;
    text-decoration: underline;
    padding-top: 40px;
    padding-bottom: 30px;
	text-align: center;
}
