@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

iframe[src*="maps"],
iframe[data-src*="maps"]{
	width: 100%;
	height: 400px;
}

/* 見出しブロック（H2～H6）のフォントを明朝体に変更 */
.wp-block-heading,.c-pageTitle,.c-postTitle__ttl {
/*	font-family: "Noto Serif JP", serif; */
/*	font-size:2rem; */
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-weight: 400;
}

/*#### カラー設定ここから ####*/

/*##########
弘前学院カラー
#6C2C46 → #822440へ変更
##########*/

.sidelink li a{
	background-color: #822440;
}

.is-style-balloon>.c-tabList .c-tabList__button:before{
	border-top: 8px solid #822440;
}


/*#### カラー設定ここまで ####*/


/* メインビジュアル */
.p-mainVisual__textLayer .p-mainVisual__slideTitle{
	font-size: 3.6rem;
	font-family: "Noto Serif JP", serif;
	font-weight: bolder; /* 追加07.03 */
	letter-spacing: 0.4rem;
}

.p-mainVisual__textLayer .p-mainVisual__slideText{
	font-size: 3.0rem;
	font-family: "Noto Serif JP", serif;
	font-weight: bolder;  /* 追加07.03 */
	letter-spacing: 0.4rem;
}


@media (max-width: 620px){
	.p-mainVisual__textLayer .p-mainVisual__slideTitle{
		font-size: 2.4rem;
	}
	.p-mainVisual__textLayer .p-mainVisual__slideText{
		font-size: 2.0rem;
	}
}

/* 全体調整 */
header#header{
	background-color: rgba(255,255,255,0.8);
	backdrop-filter: blur(8px);
}

header#header .c-headLogo.logo_white{
	display: none;
}

header#header #glt-translate-trigger,
header#header .l-header__menuBtn.sp_,
header#header .l-header__customBtn{
	padding: 5px;
	width: 50px;
	height: 50px;
	border-radius: 4px;
}

header#header #glt-translate-trigger:hover,
header#header .l-header__menuBtn.sp_:hover,
header#header .l-header__customBtn:hover{
	background-color: rgba(0,0,0,0.1);
	backdrop-filter: blur(0);
}

@media (min-width: 940px){
	header#header .l-header__menuBtn.sp_,
	header#header .l-header__customBtn{
		margin-left: 10px;
	}
}

.c-headLogo__link img{
	/*width: 370px;
	height: auto;*/
	max-height: 56px;
}

.c-widget__title{
	display: none;
}
.p-spMenu__nav{
	margin-top: 0;
}


/* スクロールする前 */
#body_wrap.home header#header{
	background-color: rgba(255,255,255,0.0);
	backdrop-filter: blur(0);
}

#body_wrap.home header#header .c-headLogo{
	display: none;
}
#body_wrap.home header#header .c-headLogo.logo_white{
	display: block;
}

#body_wrap.home header#header #glt-translate-trigger:before{
	background-image: url("images/language_icon_white.svg");
}
#body_wrap.home header#header #glt-translate-trigger > span,
#body_wrap.home header#header .c-iconBtn{
	color: #FFF !important;
}

#body_wrap.home header#header #glt-translate-trigger,
#body_wrap.home header#header .l-header__menuBtn.sp_,
#body_wrap.home header#header .l-header__customBtn{
	padding: 5px;
	width: 50px;
	height: 50px;
	border-radius: 4px;
}

#body_wrap.home header#header #glt-translate-trigger:hover,
#body_wrap.home header#header .l-header__menuBtn.sp_:hover,
#body_wrap.home header#header .l-header__customBtn:hover{
	background-color: rgba(0,0,0,0.6);
}


/* スクロールした後 */
#body_wrap.home header#header.scroll_design{
	background-color: rgba(255,255,255,0.8);
	backdrop-filter: blur(8px);
}

#body_wrap.home header#header.scroll_design .c-headLogo{
	display: block;
}
#body_wrap.home header#header.scroll_design .c-headLogo.logo_white{
	display: none;
}

#body_wrap.home header#header.scroll_design #glt-translate-trigger:before{
	background-image: url("images/language_icon.svg");
}
#body_wrap.home header#header.scroll_design #glt-translate-trigger > span,
#body_wrap.home header#header.scroll_design .c-iconBtn{
	color: #000 !important;
}

#body_wrap.home header#header.scroll_design #glt-translate-trigger:hover,
#body_wrap.home header#header.scroll_design .l-header__menuBtn.sp_:hover,
#body_wrap.home header#header.scroll_design .l-header__customBtn:hover{
	background-color: rgba(0,0,0,0.1);
	backdrop-filter: blur(0);
}



#glt-translate-trigger > span{
	color: #000 !important;
}

:root{
	--swl-fz--root: inherit;
}









 /* ヘッダーを固定 */
 @media (min-width: 960px) {
  .l-header {
    position: fixed!important;
    background: transparent;
  }
  .p-breadcrumb {
    /*margin-top: calc(var(--logo_size_pc) + 32px);*/
  }
  #body_wrap.page,
  #body_wrap.single,
  #body_wrap.blog{
    margin-top: 92px;
  }

  #body_wrap.page.home{
    margin-top: 0;
  }
}
/* 下層ページのヘッダー幅をトップに合わせる */
.l-header .l-container {
  max-width: 100%!important;
}

.-sidebar-on .l-content{
	max-width: 1920px;
}
/* ヘッダーメニューを非表示 */
nav#gnav {
  display: none;
}

.l-header__menuBtn.sp_ {
  display: block!important; /* ハンバーガーボタンを表示 */
}
.-series .l-header__inner {
  align-items: center;  /* ハンバーガーボタンの上下位置調整 */
}
.p-spMenu {
	display: block; /* 開閉メニューを有効 */
	z-index: 3000;
}

.p-spMenu__inner {
	--color_menu_text: #000000; /* メニューテキストの色 */
	--color_menu_bg: rgba(255 255 255 / 85%); /* 開閉メニューの背景色 */
  width: 545px;
}

.-right .p-spMenu__inner {
	transform: translateX(100%);
}

[data-spmenu=opened] .-right .p-spMenu__inner{
	transform: translateX(0);
}

.l-header__customBtn {
	display: block !important;
    height: var(--logo_size_sp);
    line-height: 1.25;
    text-align: center;
    width: var(--logo_size_sp);
}


.-series .l-header__logo {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    margin-right: auto !important;
    padding: 16px 0;
    /*width: 800px;*/
}

.p-spMenu__body{
	max-width: 620px;
	margin: auto;
	overflow-y: auto;
	scrollbar-gutter: stable;
}

.p-spMenu__body:before{
	content: "";
	display: block;
	background-image: url("images/logo.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100%;
	height: 110px;
	width: 100%;
	max-width: 240px;
	/*margin: auto;*/
}

@media (max-width: 960px){
	.l-header__inner{
		padding: 0 16px;
	}
	.c-headLogo{
		height: 56px;
	}
	.-img .c-headLogo__link{
		padding: 0;
		display: block;
		overflow: hidden;
		width: 64px;
	}
	.-img .c-headLogo__link img{
		max-width: none;
	}
	.p-spMenu__inner {
	width: 100vw;
	}
}

/* サイドリンクメニュー */
.sidelink{
	position: fixed;
	top: 180px;
	right: 0;
	z-index: 1000;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding-left: 0 !important;
}

.sidelink li{
	list-style: none;
	margin: 5px 0 5px 5px;
}

.sidelink li a{
	display: block;
	writing-mode: vertical-rl;
	padding: 20px 8px;
	color: #FFF;
	border-radius: 10px 0 0 10px;
	border: 1px solid #FFF;
	border-right: 0;
	transition: 0.3s;
}

.sidelink li a:hover{
	padding: 20px 20px 20px 8px;
}

@media (max-width: 620px){
	.sidelink{
		display: none;
	}
}

/* 翻訳アイコン */
#glt-translate-trigger{
	height: 40px;
	width: 50px;
	text-shadow: none;
	box-shadow: none;
	font-family: inherit;
	right: 130px;
	background: transparent;
	top: 17px !important;
	font-weight: normal;
	padding: 0;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

#glt-translate-trigger:before{
	content: "";
	width: 22px;
	height: 22px;
	display: block;
	background-image: url("images/language_icon.svg");
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	margin-top: 2px;
}

#glt-translate-trigger > span{
	font-size: 9px;
}

.tool-items{
	background-color: #FFF;
	padding: 8px;
	margin-top: 10px;
	border-radius: 40px;
	box-shadow: 0 0 8px -2px rgba(0,0,0,0.4);
}

.l-header__menuBtn.sp_,
.l-header__customBtn{
	margin-left: 5px;
}


/* トップページ調整 */
div.top #content{
	padding: 0;
}

div.top .l-content{
	padding-top: 0;
}

div.top .w-frontTop{
	margin-bottom: 0px;
}

div.top #main_content .l-mainContent__inner > .post_content{
	margin: 0;
	padding: 0;
}

div.top .w-frontBottom{
	margin-top: 0;
}

#body_wrap.home #content.l-container{
	max-width: none !important;
	margin-bottom: 0;
}

/*##### 利用者別メニュー#####*/
.w-frontTop{
}

.w-frontTop ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 5px 0;
}

.w-frontTop ul li{
	/*border: 2px solid #6C2C46;*/
	border-radius: 4px;
	width: 15%;
	min-width: 140px;
}

.w-frontTop ul li a{
	/*padding: 15px 20px;*/
	display: flex;
	justify-content: center;
	border: 0;
	font-weight: 500;
	color: #FFF;
	font-size: 1rem;
	transition: 0.3s;
	border-radius: 4px;
}

.c-listMenu a:hover{
	padding: 15px 20px;
	background-color: rgba(0,0,0,0.2);
}

.w-frontTop .c-listMenu a:before{
	display: none;
}

/* ピックアップ */
.post_content>:last-child.pickup_box{
	padding: 80px 20px 0 20px !important;
}


/* 学部・大学院 */
div.home .l-content #custom_html-7{
	/*padding: 80px;*/
}

div.home .l-content #custom_html-7 h2{
	border: 0;
	text-align: center;
	font-size: 2.0rem;
	margin-bottom: 30px;
}

div.home .l-content #custom_html-7 h2 span{
	color: #6C2C46;
	border-bottom: 3px solid rgba(108,44,70,0.3);
	padding: 0 20px 10px;
}

@media (max-width: 960px){
	div.home .l-content #custom_html-7{
		padding: 80px 20px;
	}
	div.home .wp-container-core-group-layout-1.wp-container-core-group-layout-1{
		flex-wrap: wrap;
	}
	div.home .wp-container-core-group-layout-1.wp-container-core-group-layout-1 .wp-block-image{
		max-width: calc(50% - 30px);
	}
}

@media (min-width: 960px){
	.-sidebar-on .l-content{
		justify-content: center;
	}
}

#main_content{
	max-width: 1080px;
	width: 100%;
}

#body_wrap.home #main_content{
	max-width: none;
	width: 100%;
}



@media (max-width: 620px){
	div.home .l-content #custom_html-7 h2{
		font-size: 1.5rem;
	}
}

/* NEWS */
div.home .l-content #custom_html-4{
	padding: 60px 0;
	background-color: #f4efef;
	margin-top: 0;
}

@media (max-width: 960px){
	div.home .l-content #custom_html-4{
		padding: 80px 20px;
	}
}

div.home .l-content #custom_html-4 h2{
	border: 0;
	text-align: center;
	font-size: 2.0rem;
}

/*div.home .l-content #custom_html-4 h2 span{
	color: #04384c;
	border-bottom: 3px solid rgba(4,56,76,0.3);
	padding: 0 20px 10px;
}*/

div.home .l-content #custom_html-4 .custom-html-widget{
	width: calc(100% - 40px);
	max-width: 1080px;
	margin: auto;
}

.-sidebar-off .-type-thumb.-pc-col3 .p-postList__item{
	width: 25%;
	min-width: 280px;
}

.-sidebar-off .-type-thumb.-pc-col3 .p-postList__item{
	width: calc(100% / 4);
	min-width: inherit;
}

@media (max-width: 1240px){
	.-sidebar-off .-type-thumb.-pc-col3 .p-postList__item{
		width: 50% !important;
	}
}


@media (max-width: 620px){
	.-sidebar-off .-type-thumb.-pc-col3 .p-postList__item{
		width: calc(100% - 40px) !important;
	}
	div.home .l-content #custom_html-4 h2{
		font-size: 1.5rem;
	}
}

.p-postList.-type-thumb{
	justify-content: center;
}

.c-postThumb__cat{
	background-color: #04384c;
}


.p-postList__link{
	border-radius: 4px;
	overflow: hidden;
}

/* スクールガイド */
div.home .l-content #custom_html-5{
	margin: auto;
}

div.home .l-content #custom_html-5 .schoolguide{
	max-width: 1280px;
	margin: auto;
}

@media (max-width: 960px){
	div.home .l-content #custom_html-5{
		padding: 80px 20px;
	}
	div.home .wp-container-core-group-layout-2.wp-container-core-group-layout-2{
		flex-wrap: wrap;
	}
	div.home .wp-container-core-group-layout-2.wp-container-core-group-layout-2 .wp-block-image{
		max-width: calc(50% - 30px);
	}
}



div.home .l-content #custom_html-5 h2{
	border: 0;
	text-align: center;
	font-size: 2.0rem;
}

div.home .l-content #custom_html-5 h2 span{
	color: #6C2C46;
	border-bottom: 3px solid rgba(108,44,70,0.3);
	padding: 0 20px 10px;
}

@media (max-width: 620px){
	div.home .l-content #custom_html-5 h2{
		font-size: 1.5rem;
	}
}


/* バナー枠 */
div.home .l-content #custom_html-6{
	margin: 60px auto;
	background-color: #ECECEC;
}

@media (max-width: 960px){
	div.home .l-content #custom_html-6{
		padding: 80px 20px;
	}
}


div.home .l-content #custom_html-6 ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 60px 0;
	max-width: 1920px;
	margin: auto;
}

div.home .l-content #custom_html-6 ul li{
	margin: 10px;
	padding: 0;
	list-style: none;
}

/*########## フッター ##########*/
footer#footer{
	background-color: #222222;
}

#before_footer_widget{
	margin: 60px auto 0;
}

/* フッターメニュー */

.w-beforeFooter ul.menu{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: center;
}

@media (max-width: 960px){
	.w-beforeFooter ul.menu{
		display: none;
	}
}

.w-beforeFooter ul.menu > li{
	border: 1px solid #DDD;
	padding: 10px;
	margin: 10px;
}

@media (min-width: 1280px){
	.w-beforeFooter ul.menu > li{
		width: calc(100% / 7 - 20px);
	}
}

@media (max-width: 1279px){
	.w-beforeFooter ul.menu > li{
		width: 240px;
	}
}

.w-beforeFooter ul.menu li:nth-child(n+8){
	display: none;
}

.w-beforeFooter .c-listMenu .sub-menu{
	display: block !important;
	opacity: 1 !important;
	height: auto !important;
}

.w-beforeFooter ul.menu > li ul.sub-menu > li  ul.sub-menu{
	display: none !important;
}

.w-beforeFooter .c-submenuToggleBtn{
	display: none;
}

.w-beforeFooter .c-listMenu{
	padding: 10px;
}

.w-beforeFooter .c-listMenu a{
	padding: 10px !important;
}

.w-beforeFooter .c-listMenu .menu > li > a{
	margin-bottom: 5px;
}

.w-beforeFooter .c-listMenu a:hover{
	padding-top: 10px;
	padding-bottom: 10px;
}

.w-beforeFooter .c-listMenu .sub-menu a{
	border: 0;
	padding: 5px 10px !important;
}

/***** フッターメニュー設定 *****/

.footer_menu .p-blogParts{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: baseline;
	font-size: 85%;
}

.footer_menu .p-blogParts .footer_menu_block{
	width: 280px;
	margin: 20px;
}

.footer_menu .p-blogParts .footer_menu_block h4{
	border: 0;
	border-bottom: 1px dashed #FFF;
	padding: 8px;
	margin-bottom: 15px;
}

.footer_menu .p-blogParts .footer_menu_block > div h4{
	margin-top: 15px !important;
}

/* フッターナビ */
.footer_nav .wp-block-group__inner-container{
	display: flex;
	align-items: center;
	justify-content: center;
}

#footer_logo{
	max-width: 370px;
	display: flex;
	align-items: center;
	margin: 0;
}

ul#footer_link{
	display: flex;
	justify-content: center;
	align-items: center;
}

ul#footer_link li{
	list-style: none;
	font-size: 80%;
}

ul#footer_link li:before{
	content: "｜";
	margin: 0 10px;
}

ul#footer_link li:last-child:after{
	content: "｜";
	margin: 0 10px;
}

@media (max-width: 940px){
	.footer_nav .wp-block-group__inner-container{
		flex-direction: column;
	}
	#footer_logo{
		margin: 40px auto 20px !important;
	}
	ul#footer_link{
		flex-direction: column;
		padding: 0;
	}
	ul#footer_link:before{
		margin-top: 40px;
		margin-right: 0;
		margin-bottom: 30px;
	}
	ul#footer_link li{
		width: 280px;
	}
	ul#footer_link li:before,
	ul#footer_link li:last-child:after{
		display: none;
	}
	ul#footer_link li a {
		border-bottom: 1px dashed #FFF;
		display: block;
		padding-bottom: 5px;
	}
	.footer_menu .p-blogParts .footer_menu_block{
		margin: 0;
	}
}


/* 3列枠 */
.column_box_rayout .wp-block-column:empty{
	border: none;
}
