@charset "utf-8";
/*-----------------------------------
	base.css 20220511
-----------------------------------*/
:root {
  --bs-blue: #0071b9;
  --bs-white: #ffffff;
}


html {
  font-size: 62.5%; /* 10px; */
  box-sizing: border-box;
}

body {
	font-size: 1.7em;
	min-height: 100vh;
}

img.b{
	filter:brightness(1.25);
}

/*! jpn.css for Bootsrap4 | MIT License | Copyright 2017 @kokushing */
@font-face {
  font-family: YuGothicMedium;
  src: local("Yu Gothic Medium");
}

@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}

@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}

html {
  line-height: 1.15;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "游ゴシック Medium", "Yu Gothic", YuGothic, YuGothicMedium, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 1.7;
}

h1 {
	font-size: 3rem;
	font-weight: bold;
	line-height: 3rem;
}
@media screen and (min-width: 768px) {
    h1 {
        font-size: 4rem;
        line-height: 4rem;
    }	
}

.pankuzu{
	display: none;
}
@media screen and (min-width: 768px) {
	.pankuzu{
		display: block;
	}
}

/*-----------------------------------
	adjust
-----------------------------------*/
a.link_text {
	color: var(--bs-blue);
	text-decoration: none;
}
a.link_text:hover {
	background-color: #f4f4f4;
	text-decoration: underline;
	color: #009966;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

/*-----------------------------------
	container
-----------------------------------*/
.wl_roumu,
.container{
      margin: 0 auto;
      width: 100%;
}
@media screen and (min-width: 768px) {
	.wl_roumu,
	.container{
      width: 100%;
}
}
@media screen and (min-width: 1200px) {
	.wl_roumu,
	.container{
     max-width: 120rem;
    }
}


/*-----------------------------------
	header
-----------------------------------*/

/*-----------------------------------
	footer
-----------------------------------*/

/*-----------------------------------
	logo
-----------------------------------*/
#logo_area {
	height: 3.6rem;
}
#logo_area img {
	width: auto;
	height: 3rem;
	vertical-align: middle;
}
@media screen and (min-width: 768px) {
    #logo_area {
        height: 6rem;
    }
    #logo_area img {
        width: auto;
        height: 4.4rem;
    }	
}
/*-----------------------------------
	head_image
-----------------------------------*/
#head_area img {
	width: 100%;
	height: auto;
}
#head_area img#head_pc {
	display: none;
}
@media screen and (min-width: 768px) {
    #head_area img#head_pc {
        display: block;
    }
    #head_area img#head_sp {
        display: none;
    }
}

h1.hd_a{
	position: relative;
	text-indent:1rem;
}

h1.hd_a + div{
	padding:0 2rem;
}

h1.hd_a > span{
	display: none;
}
@media screen and (min-width: 768px) {
	h1.hd_a > span{
		position: absolute;
		display: inline-block;
		background-color: var(--bs-blue);
	}
	
	h1.hd_a > span:nth-of-type(1){
		top:0;
		right:-2rem;
		width:3rem;
		height:5rem;
		transform: skew(-15deg);
	}
	
	h1.hd_a > span:nth-of-type(2){
		top:0;
		right:-5.5rem;
		width:3rem;
		height:5rem;
		transform: skew(-15deg);
		opacity: 0.8;
	}
	
	h1.hd_a > span:nth-of-type(3){
		top:0;
		right:-8rem;
		width:2rem;
		height:5rem;
		transform: skew(-15deg);
		opacity: 0.4;
	}
	
	h1.hd_a > span:nth-of-type(4){
		top:0;
		right:-9.5rem;
		width:1rem;
		height:5rem;
		transform: skew(-15deg);
		opacity: 0.2;
	}
}




/*-----------------------------------
	lead
-----------------------------------*/
#lead_area {
	margin-top: 3rem;
}

#lead_area div.text_area{
	margin: 0%;
}

/*-----------------------------------
	main
-----------------------------------*/
.text_area {
	margin: 0 2rem;	
}
@media screen and (min-width: 768px) {
    .text_area {
        margin: 0 3rem;
    }	
}

.text_area p{
	text-indent: 1.75rem;
	margin-top:1rem;
}

.text_area p:first-of-type{
	margin-top:0rem;
}


.text_blue h1{
	color: var(--bs-blue);	
	background-color: var(--bs-white);	
}
.text_blue p span{
	font-weight: bold;
	color: var(--bs-white);	
}
.text_white h1 {
	color: var(--bs-white);	
	background-color: var(--bs-blue);
}
.text_white p span{
	font-weight: bold;
	color: var(--bs-blue);	
}

.text_blue h1,
.text_white h1 {
	margin: 0 0 1rem 0;
	padding: 0.5rem 1rem;
	display: inline-block;
	letter-spacing: 0.2rem;
}
.text_blue p span,
.text_white p span {
	padding: 0.2rem;	
}
/*2024年問題とは？*/
#main_area_1 {
	margin-top: 8rem;
	padding-bottom: 1rem;
	background-image: url("../images/back_area_1.jpg");
	background-size: cover;
	background-position: center;
}
#main_area_1 .text_area > div {
	padding: 0.5rem 1rem;
	margin-bottom: 1.5rem;
	background-color: rgba(255,255,255,0.7);
	backdrop-filter: blur(5px);
}

#main_area_1 h1 {
	margin-top: -2rem;
	margin-bottom: 2rem;
}
#main_area_1 p {
	margin-bottom: 1.5rem;
}
#main_area_1 p span {
	color: var(--bs-blue);	
}
.bikou_area {
	font-size: 1.5rem;
}
.bikou_area p {
	margin-block-end: 0em;
}
.bikou_area ul {
	margin: 0 auto 3rem auto;
	padding-left:3.5rem;
}

.bikou_area ul li{
	list-style-type:disc;
}

/*banner*/
.banner_area{
	text-align: center;
	padding: 5rem 0 6rem 0;
}

div.banner_area + #footer{
	margin-top:0;
}

@media screen and (min-width: 768px) {
	.banner_area{
		margin: 0 auto;
	}	
}

.banner_area img {
	width: 80%;
	height: auto;
	border: solid 0.3rem var(--bs-blue);
}
.banner_area img:hover {
	opacity: 0.8;
}
@media screen and (min-width: 768px) {
    .banner_area img {
        width: 38rem;
    }	
}

.banner_area .roumu_banner{
	position: relative;
	margin-left:auto;
	margin-right:auto;
	width:380px;
}


/*Q&A*/
#qa_person {
	display: flex;
	flex-direction: column-reverse;
	background-color: var(--bs-blue);
}
#qa_person img {
    width: 100%;
	height: auto;
}
@media screen and (min-width: 768px) {
	
}
@media screen and (min-width: 1200px) {
    #qa_person {
		height: 33rem;
    	flex-direction: row;
    }
	#qa_person img {
		height: 33rem;
		width: auto;
	}
}

#qa_person > div {
	display: flex;
	align-items: center;
}
#qa_person .sub_box {
	padding: 4rem 4rem;
	display: inline-block;
}

#qa_person h1,
#qa_person h2 {
	display: inline-block;
	color: var(--bs-blue);	
	background-color: var(--bs-white);		
}
#qa_person p {
	color: var(--bs-white);		
	margin-top:2rem;
}
#qa_person h1 {
	padding: 0.5rem;
	font-size: 3rem;
}
#qa_person h2 {
	margin: 0 0 0.5rem;
	padding:0.5rem 0.5rem;
	font-size: 2rem;
	line-height: 2.2rem;
}
@media screen and (min-width: 768px) {
	#qa_person .sub_box {
		padding: 4rem 2rem 4rem 3rem;
		display: inline-block;
	}
	#qa_person p {
		color: var(--bs-white);		
		margin-top:2rem;
		padding-left:0.5rem;
		padding-right: 1.5rem;
	}
    #qa_person h1 {
        padding: 0.5rem 1rem;
        font-size: 3.6rem;
    }
    #qa_person h2 {
        margin: 0 0 0.5rem;
    	padding:0.5rem 1rem;
        font-size: 2.1rem;
    }	
}

.qa_area {
	margin-top: 4rem;
}

.qa_area p{
	text-indent: 1rem;
	margin-top:1rem;
	line-height: 1.7;
}

.qa_title {
	position: relative;
	margin-left: 2rem;
	display: inline-block;
	color: var(--bs-white);	
	background-color: var(--bs-blue);	
	z-index: 100;
}
.qa_title h1 {
	display: inline-block;
	margin: 0;
	padding: 1rem 0.5rem 1rem 5rem;
	text-indent: -4.1rem;
	font-size: 3rem;
	font-weight: bold;
	line-height: 3.2rem;
}
@media screen and (min-width: 768px) {
.qa_title h1 {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 3.3rem;
	padding: 1rem 0.5rem 1rem 5rem;
	}
}
.qa_title h1 span {
	margin-right: 0.5rem;
}
.qa_title h1 span::before {
	content: "Q.";
}


.qa_contents {
	margin-top: 0rem;
	z-index: -100;
	display: flex;
	flex-direction: column;
}
.qa_image {

}
.qa_image img{
	width: 100%;
	height: auto;
}
.qa_area .qa_a {
    padding: 0 1rem 0;
}
@media screen and (min-width: 1200px) {
    .qa_contents {
        margin-top: -2rem;
        z-index: -100;
        display: flex;
        flex-direction: row;
    }
    .qa_image img {
        width: 60rem;
		height: auto;
		vertical-align: top;
    }
    .qa_area .qa_a {
        padding: 2rem 2rem 0 3rem;
    }
	.qa_area.qa_2 .qa_a {
        padding: 2rem 3rem 0 2rem;
    }
}


.qa_area .qa_a p span::before {
	content: "A.";
	font-size: 3.2rem;
	font-weight: bold;
	color: var(--bs-blue);
}
.qa_area .qa_a p span {
	margin-right: 2rem;
}


.qa_area.qa_4 .qa_image div {
	position: relative;
	width: 100%;
}
@media screen and (min-width: 1200px) {
    .qa_area.qa_4 .qa_image div  {
        width: 50rem;
		height: auto;
        border: 0.1rem solid #000;
    }
    .qa_area.qa_4 .qa_image div img {
        width: 50rem;
		height: auto;
    }
}

.qa_area.qa_4 .qa_image div {
	margin-top: 5rem;
}
.qa_area.qa_4 .qa_image div:first-child {
	margin-top: 0;
}
.qa_area.qa_4 .qa_image p {
	display: inline-block;
	position: absolute;
	margin: 0;
	padding: 0.3rem 1rem 0.5rem;
	background-color:  var(--bs-blue);
	font-size: 1.7rem;
	font-weight: bold;
	color: var(--bs-white);
	bottom: -2.5rem;
	right: 0;
}



ol.qa_list {
	margin: 1.5rem 0 1.5rem;
	list-style-type: none;
}
.qa_area .qa_a ol.qa_list li {
	margin-top: 1rem;
	margin-left: 3rem;
	margin-bottom: 0;
	line-height: 1.4;
}
.qa_area .qa_a ol.qa_list li span {
	margin-right: 0.5rem;
}

.qa_area.qa_5 {
	margin-top: 8rem;
}


/*message*/
#message_area {
	display: flex;
	flex-direction: column;
	padding: 2rem;	
	width: 100%;
	background-color: var(--bs-blue);
	color: var(--bs-white);
	margin-top:5rem;
}
@media screen and (min-width: 768px) {
    #message_area {
        padding: 3rem 3rem;
		width: 100%;
    }	
}

#message_area .message_text .flt_img{
	float:none;
	width:100%;
}
@media screen and (min-width: 768px) {
	#message_area .message_text {
		display: grid;
		grid-template-columns: 400px 1fr;
		column-gap: 2rem;
	}

	#message_area .message_text .flt_img{
		margin-top: -0.2rem;
	}
}

#message_area .message_text .flt_img > img{
	object-fit: cover;
	object-position: center top;
	width:100%;
	height:100%;
}

#message_area .message_text p{
	margin-top:1rem;
	text-indent: 1.75rem;
}

#message_area .message_text p:first-of-type{
	margin-top:0rem;
}

#message_area.text_blue h1 {
	display: block;
	margin: 0 0 1rem;
	line-height: 1;
	font-size: 2.1rem;
	letter-spacing: 0.1rem;
	background-color: transparent;
	color: var(--bs-white);
}
#message_area h2 {
	display: inline-block;
	margin: 0 0 2rem;
	padding: 1rem 0.6rem;
	line-height: 1;
	font-size: 3.2rem;
	background-color: var(--bs-white);
	color: var(--bs-blue);
	letter-spacing: 0.1rem;
}



#footer .fnavi{
	font-size:87.5%;
}