/*
Theme Name: Twenty Twenty Five Child
Template: twentytwentyfive
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');


/*-----------------------------------
 * 全体
 * --------------------------------*/
:root{
	--main--color:#526bc8;
	--main--color:#6581e5;
}
html{
	scroll-behavior: smooth;
}
body{
	font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	line-height:1.5;
	font-weight:400;
}
/* 1カラムになるタイミングで表示・非表示にするクラス */
.mobile_disp{
		display:none!important;
	}
.mobile_flex_disp{
	display:none!important;
}
@media screen and (max-width: 781px){
	.mobile_none{
		display:none!important;
	}
	.mobile_disp{
		display:block!important;		
	}
	.mobile_flex_disp{
		display:flex!important;		
	}	
}

/* 画像リンクのFocus時のOutlineを非表示 */
:where(.wp-site-blocks *:focus) {
	outline:none!important;
}

/* セクション画像（周囲をぼかす） */
.section_image{
	max-width:530px;
	aspect-ratio:1 / 1;
}
.section_image .wp-block-cover__image-background{
	filter:blur(5px);
}
.section_image .wp-block-cover__inner-container{
	width:94%;
}
.section_image .wp-block-cover__inner-container figure{
	text-align:center;
}
@media screen and (max-width: 481px){
.section_image{
	width:100%!important;
	min-height:auto;
}
}

/* アンカーリンク */
a{
	text-decoration:none!important;
}

a:hover{
	text-decoration:none;
}

/* ポジションスティッキー */
.sticky_part{
	position:sticky;
	top:50px;
}
/*---------------------------------------
 * ヘッダ
 * ------------------------------------*/
header{
	position:relative;
	z-index:9;
}
/*---------------------------------------
 * フッタ
 * ------------------------------------*/
footer{
	position:relative;
	z-index:1;
}

@media screen and (max-width: 481px) {
.footer_contents {
	flex-flow: column-reverse;
}
.footer_spacer01 {
	height: 30px!important;
}
.footer_spacer02 {
    flex-basis: 40px!important;
}
}
/*---------------------------------------
 * 見出し
 * ------------------------------------*/

.text_white {
	color:#fff!important;
}
.text_blue {
	color:#526bc8!important;
}
.text_black {
	color:#111!important;
}

@media screen and (max-width: 481px){
h2 {
	font-size:1.8em;		
}
}

/*---------------------------------------
 * メニュー
 * ------------------------------------*/
@media screen and (max-width: 599px){
.header_menu_wrap {
    position: fixed;
    right: 5vw;
    z-index: 99999999 !important;
	background-color: rgb(0, 0, 0, 0.5);
	padding: 5px;
}
}	
	

/*---------------------------------------
 * お問い合わせバナー
 * ------------------------------------*/
.fix_menu_yoko{
	position:fixed;
	width:1em;
	right:0;
	padding:15px;
	z-index:9999;
	background:var(--main--color);
	color:#fff;
	font-weight:bold;
	font-size:20px!important;
	line-height:1em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	border-radius: 3px 0 0 3px;	
}
.fix_menu_yoko a{
	text-indent:-9999px;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;	
}
.link_yoyaku{
    top: 150px;
	height:7em;
}

@media screen and (max-width: 781px) {
.fix_menu_yoko{
	top:auto;
	bottom:0;
	height:1em;
	border-radius:0;
	border:solid 2px #262626;
	text-align:center;
	padding:15px 0;
    -ms-writing-mode: unset;
    writing-mode: unset;
	}
	.link_yoyaku{
		left:0;
		width:99%;
	}
}

/*---------------------------------------
 * ホーム
 * ------------------------------------*/
/*firstview
 * iPhoneではbackground-attachiment:fixed;が効かないため固定背景ができません
 * それを回避するためにpositon:fixedと使用しますが、
 * そのままだと他のブロックの背景にも固定背景が出てしまいます。
 * そのためにカバーブロックのbackground-colorを白にしています。
 * また、headerとfooterもそのままでは固定背景の裏に回ってしまうため
 * positon:relativeとz-indexを指定しています。
 * */
@media screen and (max-width: 781px) {
.firstview_wrap .wp-block-cover__image-background.has-parallax{
     position: fixed;
	z-index:0;
}
.wp-block-cover{
	background-color:#fff;
}
.wp-block-cover.firstview_wrap{
			background-color:transparent;
	}
}


.wp-site-blocks {
	position:relative!important;
}
.home main {
	margin-top:0!important;
	z-index: 1;
}
.top_contents {
	padding-top: 0!important;
    padding-bottom: 0 !important;
}
/*
.home header {
	position: absolute;
	z-index: 2;
	width: 100%;
}

.home .entry-content {
	margin-top:0!important;
}


.firstview_wrap .wp-block-cover__image-background:not(.section_image .wp-block-cover__image-background) {
	background-position: 50% 30%!important;
}
*/

/* キャッチコピー */
.firstview_catchcopy {
    font-size: 3em;
    line-height: 1.5;
	color:#fff!important;
}
@media screen and (max-width: 1050px) {
.firstview_catchcopy {
    font-size: 2em;
	margin-top:200px!important;
	margin-bottom:100px!important;
}
}


/*カレンダー*/
.xo-event-calendar {
	background-color: rgb(255,255,255,0.3);
    padding: 10px;
}
.xo-event-calendar p.holiday-title, .calendar-caption {
    color: #fff!important;
}
span.month-event-title {
	color:#fff!important;
}
/* 年月＆休日文字色 */
.xo-event-calendar table.xo-month .month-event-title {
	background-color: var(--main--color)!important;
}
.month-event a:where(:not(.wp-element-button)) {
    text-decoration: none!important;
	pointer-events: none!important;
}
/* 矢印 */
.xo-event-calendar table.xo-month button span.nav-next{
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
}
.xo-event-calendar table.xo-month button span.nav-prev{
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
}

/* Topix */
.read_more{
	margin-right:0;
	margin-left:auto;
}


/*---------------------------------------
 *  SVG画像をhoverで動かす 
 * --------------------------------------*/
.arrow_move img{
    transition:0.6s;
    padding-left:10px;
    padding-right:10px;
    transform: translateY(-3px);	
}

.arrow_move:hover img {
    transform: translate(20%, -3px);
    transition:0.6s;
}
