@charset "UTF-8";

/************************************
** スマホ用CSS 780以下
************************************/
@media screen and (max-width: 780px){
/**/

/**********************
* 全体
**********************/
body{
	min-width: 100%;
}
.inner{
	width: 100%;
	padding: 0 20px 0;
}
.wrap{
    width: 100%;
}
#content {
	padding: 70px 0;
	max-width: 90%;
}
.content p{
	font-size: 14px;
}
.content p a{
	font-size: 14px;
}
#main.main{
	margin: 0;
	padding: 0 20px;
}

/* pc、sp */
.pc {
  display: none!important;
}
.sp {
  display: block!important;
}

/**********************
* 固定ページ
**********************/
/* 各固定ページの先頭画像 */
.header-ttl-img p img{
	height: 270px;
}

/**********************
* 1カラム(フルワイド)
**********************/
body.column-full-wide .article-header{
    width: 100%;
    padding: 0 20px;
}
body.column-full-wide .breadcrumbs{
    width: 100%;
    padding: 0 20px;
}
body.column-full-wide #main.main{
	padding: 0;
}

/**********************
* サイドバー
**********************/
.sidebar {
    width: 100%;
}

/**********************
* 見出し
**********************/
/* page h1 */
body.page .article-header {
    margin-bottom: 40px;
}
body.page .article-header h1.entry-title{
	padding: 0;
	font-size: 28px;
}

/**********************
* btn 汎用
**********************/


/**********************
* メインイメージ
**********************/
#main_img{
	min-height: 440px;
}
#main_img .main_img_text{
	left: 20px;
	top: 60px;
}
#main_img .main_img_text p.text01{
	font-size: 6.7vw;
	letter-spacing: 3px;
}
#main_img .main_img_text p.text01 span.span01{
	font-size: 10vw;
	letter-spacing: 5px;
}
#main_img .main_img_text p.img01 img{
	max-width: 64%;
}

/**********************
* header
**********************/
#header-in-pc{
	display: none;
}
#header-in-sp{
	display: block;
	position: fixed;
	top: 0;
	z-index: 100;
	width: 100%;
}
#header {
	width: 100%;
	min-width: 100%;
	height: 73px;
	background-color: rgba(255, 255, 255, 0.8);
}
#header-in{
	margin: 0;
	padding: 0;
	align-items: center;
}
#header .h-logo {
	width: auto;
	max-width: 230px;
	position: absolute;
	top: 15px;
	left: 10px;
}

/* ボタン */
#header .btnMenu {
	height: 40px;
	position: absolute;
	top: 20px;
	right: 15px;
	border: 0;
	background-color: transparent;
}
#header .btnMenu i {
	width: 26px;
	height: 24px;
	display: flex;
	gap: 5px;
	flex-direction: column;
	justify-content: center;
	margin: auto;
}
#header .btnMenu i span {
	width: 100%;
	display: block;
	height: 4px;
	background: #000000;
	transition: all 0.2scubic-bezier(0.84, 0.17, 0, 0.71);
	border-radius: 25px;
}

/* 閉じる */
#header .closeBtn {
	height: 40px;
	position: absolute;
	top: 20px;
	right: 26px;
	background-color: #ffffff;
	border: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
#header .closeBtn i {
	width: 100%;
	display: block;
	position: relative;
	height: 40px;
}
#header .closeBtn i:before,
#header .closeBtn i:after {
	content: "";
	display: block;
	width: 3px;
	height: 55%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: 2;
	background: #000;
}
#header .closeBtn i:before {
    transform: rotate(45deg);
}
#header .closeBtn i:after {
    transform: rotate(-45deg);
}

/* navナビゲーション */
#header .sp-globalmenu {
	overflow: hidden;
	content-visibility: auto;
	contain-intrinsic-size: 1000px;
	position: fixed;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease-in-out, visibility 0s 0.4s; /* visibilityは遅延で切り替え */
	z-index: 110;
	justify-content: flex-end;
	align-items: flex-start;
	background-color: #ffffff;
	display: flex;
	flex-wrap: wrap;
}
#header .sp-globalmenu.visible {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.4s ease-in-out, visibility 0s 0s; /* visibilityを即切り替え */
}
.sp-nav-wrap {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 85px 0 0;
}
.sp-nav-wrap nav.sp-h-nav{
	width: 100%;
}
.sp-nav-wrap nav.sp-h-nav ul{
	display: flex;
	flex-direction: column;
}
.sp-nav-wrap nav.sp-h-nav ul li{
	border-top: solid 1px #f3f3f3;
}
.sp-nav-wrap nav.sp-h-nav ul li:last-child{
	border-bottom: solid 1px #f3f3f3;
}
.sp-nav-wrap nav.sp-h-nav ul li a{
	width: 100%;
	padding: 17px;
	font-size: 14px;
	font-weight: 500;
	display: inline-block;
	color: #000;
	position: relative;
	text-decoration: none;
}
.sp-nav-wrap nav.sp-h-nav ul li a:hover{
    background-color: #009FE8;
    color: #fff;
}
.sp-nav-wrap nav.sp-h-nav ul li a::after {
	content: "";
	background-image: url(img/btn01-icon-white.svg);
	background-repeat: no-repeat;
	background-size: 33px;
	width: 33px;
	height: 33px;
	position: absolute;
	right: 17px;
	top: 50%;
	transform: translateY(-50%);
}

/* お問い合わせボタン */
.sp-globalmenu .h-btn{
	position: absolute;
	bottom: 20px;
	left: 50%; /* 左端から50% */
  transform: translateX(-50%); /* 左端から50%分を引いて中央に調整 */
	width: 70%;
	margin: auto;
}
.sp-globalmenu .h-btn a{
	font-weight: 700;
	width: 100%;
	color: #001c5f;
	background-color: #ffffff;
	transition: all 0.2s ease-in;
	padding: 15px 50px 15px 30px;
	border-radius: 30px;
	display: inline-block;
	text-align: center;
	border: solid 1px #fff;
}
.sp-globalmenu .h-btn a:hover{
    color: #fff;
    background-color: #39a0ea;
    border: solid 1px #fff;
}
.sp-globalmenu .h-btn a::after{
    content: "";
    background-image: url(img/btn01-icon.svg);
    background-repeat: no-repeat;
    background-size: 33px;
    width: 33px;
    height: 33px;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
}

/* under_main_img */
#under_main_img{
	min-height: 270px;
	background-position: center center;
}

/**********************
* footer
**********************/
#footer-in {
	width: 100%;
	padding: 0 20px;
}
.f_logo{
	text-align: center;
}
.f-nav ul {
	justify-content: space-between;
}
.f-nav ul li{
	width: 50%;
	padding: 8px 10px;
}
.f-nav ul li a{
	border: 0;
	padding: 0;
}
#f-copyright{
	text-align: center;
	margin: 30px 0 0;
}

/* footer_contact */
#footer_contact h2{
	font-size: 27px;
}

/**********************
* TOPページ
**********************/
/* top_intro */
#top_intro{
    padding: 70px 0;
}
#top_intro .inner{
	width: 100%;
	flex-direction: column-reverse;
	align-items: center;
	gap: 40px 0;
}
.home #top_intro h2{
	font-size: 23px;
}
#top_intro .text_box{
	width: 100%;
}
#top_intro .text_box p.text01{
	margin: 0;
}
#top_intro .inner .img_box{
	display: none;
}

/* top_candomb */
#top_candomb{
    margin: 0;
}
#top_candomb .inner{
	text-align: center;
	padding: 70px 20px;
}
.btn_maru{
	position: relative;
	right: auto;
	top: auto;
	margin: 30px 0 0;
}
.btn_maru a{
	align-items: center;
}

/* top_intvoice */
#top_intvoice{
	min-height: auto;
	background-image: none;
	background-color: #00aeeb;
	margin: 0;
}
#top_intvoice .text_box{
	width: 100%;
	padding: 70px 0;
}
/* top_partner  */
#top_partner {
	min-height: auto;
	background-image: none;
	background-color: #00aeeb;
	margin: 0;
	margin-top: 20px;
}
#top_partner .text_box {
	width: 100%;
	padding: 70px 0;
}
/* top_news */
#top_news{
    padding: 70px 0;
}
#top_news .inner{
	width: 100%;
}
#top_news .ttl_box{
	width: 100%;
}
#top_news .text_box {
	width: 100%;
	padding: 40px 20px;
	margin: 40px 0 0;
}

/**********************
* 基金について
**********************/
p#p_fund_first{
	max-width: 100%;
}
#fund_box {
    margin: 40px 0 0;
}
#fund_box .img_box{
    width: 100%;
    margin: 0 0 30px;
}
#fund_box .img_box p{
	text-align: center;
}
#fund_box .text_box{
    width: 100%;
}

/**********************
* よくある質問
**********************/
#qa{
	width: 100%;
}
#qa .qa_box .q_ttl,
#qa .qa_box .a_text{
	padding: 0 0 0 30px;
}

/**********************
* 概要
**********************/
#about-us{
    width: 100%;
}
#about-us .text_philosophy{
	font-size: 7vw;
}
#about-us .about-us_box {
    margin: 0 0 60px;
}
#about-us table th {
	width: 40%;
}
#about-us .greeting_box p {
    margin: 0 0 30px;
    font-size: 15px;
}
#about-us .greeting_box p span {
	font-size: 15px;
}
#about-us .greeting_info{
	margin: 60px 0 0;
	justify-content: center;
	gap: 20px 0;
	flex-direction: column;
	align-items: center;
}
#about-us .greeting_info p{
    margin: 0;
}

/**********************
* 概要
**********************/
#application{
	width: 100%;
}
#application .application_box {
    margin: 0 0 60px;
}

/**********************
* 支援者の声
**********************/
p#p_voice_first{
	max-width: 100%;
}
#voice_box {
	width: 100%;
    margin: 40px 0 0;
}
#voice_box .img_box{
    width: 100%;
    margin: 0 0 30px;
}
#voice_box .img_box p{
	text-align: center;
}
#voice_box .text_box{
    width: 100%;
}
#voice_box h2.h2_single01{
	margin: 0 0 20px;
}
#voice_box .text_box .text_division {
    margin: 0 0 20px;
}

/**********************
* 支援者の声 詳細
**********************/
#voice_intvoice{
	width: 100%;
}
#voice_intvoice .img_box {
    width: 100%;
    margin: 0 0 30px;
}
#voice_intvoice .text_box {
    width: 100%;
}

/* 780px終了 */
}
/* 780px終了 */