@charset "utf-8";
/* Copyright 2021 FSFIELD All Rights Reserved. */

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

パソコン、スマートフォン（iPhone,Android) 共通

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

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

basic

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

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 500;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/NotoSansJP-Regular.woff") format("woff");
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/NotoSansJP-Bold.woff") format("woff");
	font-display: swap;
}

*{font-family:'Noto Sans JP', Yu Gothic, "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}

@media (-ms-high-contrast: none) {
	*{font-family:'Noto Sans JP', Yu Gothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
}

html{
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body{
	color:#333333;
    background: #FFF;
	font-weight: 400;
	letter-spacing: 0.1em;
}


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

shortcodes

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

/* font
---------------------------------------------- */
.normal{font-weight: normal !important;}
.bold{font-weight: bold !important;}
.italic{font-style: italic !important;}

/* display
---------------------------------------------- */
.none{display: none !important;}

/* margin
---------------------------------------------- */
.mb_none{margin-bottom: 0 !important;}

/* color
---------------------------------------------- */
.red01{color: #FF4C4C !important;}

/* indent
---------------------------------------------- */
.indent-1{
	text-indent: -1em;
	padding-left: 1em;
}

.indent-1_5{
	text-indent: -1.5em;
	padding-left: 1.5em;
}

.indent-2_5{
	text-indent: -2.5em;
	padding-left: 2.5em;
}

.input-error {
	color: #FF4C4C !important;
}

@media print, screen and (min-width:768px){ /* 表示領域が768px以上の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	PC

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

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

	common

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

	body{
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 1.8;
	}
	
	.sp{display: none;}
	
	.pc_br{display: block;}

	/* レイアウト
	---------------------------------------------- */
	#wrap_all{
		min-width: 1200px;
		overflow: hidden;
	}

	.wrap_pd{
		padding: 0 100px;
		margin-bottom: 160px;
	}
	
	.wrap_type01{
		width: 1000px;
		margin: 0 auto;
		padding-top: 90px;
	}

	.wrap_type02{
		width: 100%;
		min-width: 1000px;
		max-width: 1720px;
		margin: 0 auto;
		padding-top: 90px;
	}
	
	/*--404ページ--*/	
	.wrap_404{
		text-align: center;
        padding-top: 100px;
		margin-bottom: 200px;
	}
	
	.ttl_404{
		font-size: 5rem;
		font-weight: bold;
		margin-bottom: 12px;
	}
	
	.txt_404{margin-bottom: 30px;}
    
    /* メール
	---------------------------------------------- */
	.txt_mail::after{content: "@";}
	
	/* リンク
	---------------------------------------------- */
	.link01{
		color: #333;
		text-decoration: underline !important;
	}
	
	.link01:hover{text-decoration: none !important;}
	
	.link02{
		color: #2C5276;
		text-decoration: underline !important;
	}
	
	.link02:hover{text-decoration: none !important;}
	
    .link03{
		color: #676654;
		text-decoration: underline !important;
	}
	
	.link03:hover{text-decoration: none !important;}
	
	.link_tel01{
		color: #333;
		pointer-events: none;
	}
	
	.link_pdf01{
		color: #333;
		text-decoration: underline !important;
	}
	
	.link_pdf01::before{
		content: "";
		display: inline-block;
		background: url("../img/ico_pdf01.png") no-repeat 0 0;
		background-size: contain;
		width: 14px;
		height: 18px;
		margin: 0 6px -4px 0;
	}
	
	.link_pdf01:hover{text-decoration: none !important;}
    
    .link_movie01{
		color: #333;
		text-decoration: underline !important;
	}
	
	.link_movie01::before{
		content: "";
		display: inline-block;
		background: url("../img/ico_movie01.png") no-repeat 0 0;
		background-size: contain;
		width: 16px;
		height: 11px;
		margin: 0px 4px -1px 0;
	}
	
	.link_movie01:hover{text-decoration: none !important;}

	/* ページタイトル
	---------------------------------------------- */
	.pagettl{
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		padding-top: 30.23%;
		max-height: 520px;
		color: #FFF;
		position: relative;
	}

	.pagettl.pagettl01{background-image: url(../img/pc/bg_pagettl01.jpg);}
	.pagettl.pagettl02{background-image: url(../img/pc/bg_pagettl02.jpg);}
	.pagettl.pagettl03{background-image: url(../img/pc/bg_pagettl03.jpg);}
	.pagettl.pagettl04{background-image: url(../img/pc/bg_pagettl04.jpg);}
	.pagettl.pagettl05{background-image: url(../img/pc/bg_pagettl05.jpg);}
	.pagettl.pagettl06{background-image: url(../img/pc/bg_pagettl06.jpg);}
	.pagettl.pagettl07{background-image: url(../img/pc/bg_pagettl07.jpg);}
	.pagettl.pagettl08{background-image: url(../img/pc/bg_pagettl08.jpg);}
	.pagettl.library01{background-image: url(../img/library/pc/bg_pagettl01.jpg);}
	.pagettl.library02{background-image: url(../img/library/pc/bg_pagettl02.jpg);}
	.pagettl.library03{background-image: url(../img/library/pc/bg_pagettl03.jpg);}
	.pagettl.library04{background-image: url(../img/library/pc/bg_pagettl04.jpg);}
	.pagettl.library05{background-image: url(../img/library/pc/bg_pagettl05.jpg);}
	.pagettl.library06{background-image: url(../img/library/pc/bg_pagettl06.jpg);}
	.pagettl.library07{background-image: url(../img/library/pc/bg_pagettl07.jpg);}

	.pagettl_inner{
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		transform: translate3d(-50%, -50%, 0);
		text-align: center;
		line-height: 1;
	}

	.pagettl_inner h2{
		font-size: 3.2rem;
		letter-spacing: 0.1em;
		margin-bottom: 10px;
	}

	.pagettl_inner p{
		font-family: "Amiri";
		letter-spacing: 0.03em;
		font-size: 2rem;
	}

	/* 見出し
	---------------------------------------------- */
	/*--heading01--*/
	.heading01{
		font-size: 2.4rem;
		letter-spacing: 0.1em;
		line-height: 1.6;
		margin-bottom: 40px;
		padding-bottom: 25px;
		border-bottom: 1px solid #C7D6DA;
		position: relative;
	}

	.heading01::before{
		content: "";
		display: block;
		background: #161825;
		width: 40px;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: -1px;
	}
	
	/*--heading02--*/
	.heading02{
		font-size: 1.4rem;
		letter-spacing: 0.1em;
		font-weight: bold;
		margin-bottom: 15px;
		position: relative;
		padding-left: 15px;
	}
	
	.heading02::before{
		content: "";
		background: #333333;
		width: 4px;
		height: 20px;
		position: absolute;
		top: 3px;
		left: 0;
	}
	
	/*--heading03--*/
	.heading03{
		font-size: 2.2rem;
		letter-spacing: 0.1em;
		padding-bottom: 15px;
		margin-bottom: 38px;
		position: relative;
	}
	
	.heading03::after{
		content: "";
		background: #2C5376;
		width: 30px;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	
	/*--heading04--*/
	.heading04{
		font-size: 2.6rem;
		letter-spacing: 0.1em;
		margin-bottom: 55px;
		line-height: 1.4;
		position: relative;
		padding-left: 18px;
	}
	
	.heading04::before{
		content: "";
		background: #333333;
		width: 4px;
		height: 30px;
		position: absolute;
		top: 5px;
		left: 0;
	}
	
	/*--heading05--*/
    .heading05{
        position: relative;
        padding-left: 20px;
        margin-bottom: 10px;
    }
    
    .heading05::before{
        content: "";
        background: #2C5376;
        width: 10px;
        height: 10px;
        position: absolute;
        top: 50%;
        left: 0;
        margin-top: -5px;
    }
	
	/* パンくずリスト
	---------------------------------------------- */
	.breadcrumb{
		font-size: 1.2rem;
		letter-spacing: 0.1em;
		padding: 30px 0 0;
	}
	
	.breadcrumb ul{
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	
	.breadcrumb ul li{
		display: inline;
		vertical-align: middle;
		color: #585A61;
		padding-right: 15px;
		margin-right: 5px;
		position: relative;
	}
	
	.breadcrumb ul li::after{
		content: "";
		display: block;
		background: url("../img/ico_arrow03.png") no-repeat 0 0;
		background-size: contain;
		width: 5px;
		height: 8px;
		position: absolute;
		top: 6px;
		right: 0;
	}
	
	.breadcrumb ul li:last-child{
		padding-right: 0;
		margin-right: 0;
	}
	
	.breadcrumb ul li:last-child::after{display: none;}

	.breadcrumb ul li a{
		color: #585A61;
		text-decoration: underline;
	}
	
	.breadcrumb ul li a:hover{text-decoration: none;}
	
	/* ボタン
	---------------------------------------------- */
	/*--btn_type01--*/
	.btn_type01 a{
		display: inline-block;
		color: #333;
		border-bottom: 1px solid #C7D6DA;
		line-height: 1;
		padding: 0 25px 20px 0;
		min-width: 240px;
		position: relative;
	}

	.btn_type01 a::after{
		content: "";
		display: block;
		background: url(../img/ico_arrow01.png) no-repeat 0 0;
		background-size: contain;
		width: 15px;
		height: 12px;
		position: absolute;
		top: 6px;
		right: 10px;
		margin-top: -6px;
		transition: right 0.3s;
	}

	.btn_type01 a:hover::after{right: 0;}
	
	/*--btn_back01--*/
	.btn_back01 a{
		display: inline-block;
		color: #333;
		border-bottom: 1px solid #C7D6DA;
		line-height: 1;
		padding: 0 0 18px 40px;
		min-width: 120px;
		position: relative;
	}

	.btn_back01 a::after{
		content: "";
		display: block;
		background: url(../img/ico_arrow01.png) no-repeat 0 0;
		background-size: contain;
		width: 15px;
		height: 12px;
		transform: scale(-1, 1);
		position: absolute;
		top: 1px;
		left: 10px;
		transition: left 0.3s;
	}

	.btn_back01 a:hover::after{left: 0;}
	
	/*--btn_back02--*/
    .btn_back02 a{
        position: relative;
        display: inline-block;
		min-width: 220px;
        padding: 22px 25px;
        line-height: 1;
		color: #333;
        background: #FFF;
		border: 1px solid #C7D6DA;
		text-align: center;
    }
    
    .btn_back02 a::before{
		content: "";
		display: block;
		background: url("../img/ico_arrow01.png") no-repeat 0 0;
		background-size: contain;
		width: 15px;
		height: 12px;
		position: absolute;
		top: 50%;
		left: 23px;
		margin-top: -6px;
		transition: left .3s;
		pointer-events: none;
        z-index: 1;
        transform: scale(-1, 1);
	}
    
    .btn_back02 a:hover::before{left: 15px;}
	
	/*--btn_back03--*/
    .btn_back03 a{
        position: relative;
        display: inline-block;
        padding: 22px 25px;
        line-height: 1;
		color: #333;
		min-width: 220px;
		border: 1px solid #E1E1DD;
        background: #FFF;
		text-align: center;
    }
    
    .btn_back03 a::before{
		content: "";
		display: block;
		background: url("../../img/ico_arrow01.png") no-repeat 0 0;
		background-size: contain;
		width: 15px;
		height: 12px;
		position: absolute;
		top: 50%;
		left: 23px;
		margin-top: -6px;
		transition: left .3s;
		pointer-events: none;
        z-index: 1;
        transform: scale(-1, 1);
	}
    
    .btn_back03 a:hover::before{left: 15px;}
	
	/* リスト
	---------------------------------------------- */
	/*--list_type01--*/
	.list_type01 li{
		margin-bottom: 10px;
		position: relative;
		padding-left: 15px;
	}
	
	.list_type01 li::before{
		content: "";
		display: block;
		background: #333333;
		width: 5px;
		height: 5px;
		border-radius: 50px;
		position: absolute;
		top: 10px;
		left: 0;
	}
	
	/*--list_type02--*/
    .list_type02 > li{
        position: relative;
        padding-left: 20px;
        margin-bottom: 15px;
        line-height: 1.8;
    }
    
    .list_type02 > li:last-child{margin-bottom: 0;}
    
    .list_type02 > li::before{
        content: "";
        background: #2C5376;
        width: 10px;
        height: 10px;
        position: absolute;
        top: 8px;
        left: 0;
    }
	
    /*--list_type04--*/
    .list_type04 > li{
        position: relative;
        padding-left: 14px;
        margin-bottom: 15px;
    }
    
    .list_type04 > li::before{
        content: "";
        background: #2C5376;
        width: 8px;
        height: 8px;
        border-radius: 50px;
        position: absolute;
        top: 9px;
        left: 0;
    }
    
    .list_type04 > li:last-child{margin-bottom: 0;}
	
    /* 問い合わせボックス
	---------------------------------------------- */
    .box_contact{
        border: 1px solid #C7D6DA;
        display: flex;
        align-items: center;
        padding: 20px 50px;
        margin-bottom: 30px;
    }
    
    .box_contact:last-of-type{margin-bottom: 0;}
    
    .box_contact .col_l{
		width: 320px;
		padding-right: 20px;
	}
    
    .box_contact .col_l p{
		padding-left: 20px;
        position: relative;
    }
    
    .box_contact .col_l p::before{
        content: "";
        background: #2C5376;
        width: 10px;
        height: 10px;
        position: absolute;
        top: 8px;
        left: 0;
    }
    
    .box_contact .col_r{
        border-left: 1px solid #C7D6DA;
        padding : 5px 0 5px 50px;
    }
    
    .box_contact .col_r .item{
        display: flex;
		margin-bottom: 5px;
    }

	.box_contact .col_r .item:last-of-type{margin-bottom: 0;}
	
    .box_contact .col_r .item .sub{
		width: 125px;
		padding-left: 25px;
		position: relative;
	}
	
    .box_contact .col_r .item.tel .sub::before{
        content: "";
        background: url("../img/ico_tel01.png") no-repeat 0 0;
        background-size: contain;
        width: 14px;
        height: 15px;
        position: absolute;
        top: 6px;
        left: 0;
    }
    
     .box_contact .col_r .item.fax .sub::before{
        content: "";
        background: url("../img/ico_fax01.png") no-repeat 0 0;
        background-size: contain;
        width: 14px;
        height: 15px;
        position: absolute;
        top: 5px;
        left: 0;
    }
    
    .box_contact .col_r .item.mail .sub::before{
        content: "";
        background: url("../img/ico_mail01.png") no-repeat 0 0;
        background-size: contain;
        width: 14px;
        height: 12px;
        position: absolute;
        top: 7px;
        left: 0;
    }
    
    .box_contact .col_r .item.map .sub::before{
        content: "";
        background: url("../img/ico_map01.png") no-repeat 0 0;
        background-size: contain;
        width: 14px;
        height: 19px;
        position: absolute;
        top: 5px;
        left: 0;
    }
    
    .box_contact .col_r .item .txt{
		position: relative;
		padding-left: 28px;
	}
	
    .box_contact .col_r .item .txt::before{
        content: "";
        background: #2C5376;
        width: 20px;
        height: 1px;
        position: absolute;
        top: 14px;
        left: 0;
    }
    
    /*--電話--*/
    .box_contact .col_r .item.tel .txt a{
        font-family: 'Amiri';
        font-size: 1.8rem;
        letter-spacing: 0;
    }
    
    .box_contact .col_r .item.tel a.link01{
        text-decoration: none!important;
        pointer-events: none!important;
    }
    
    .box_contact .col_r .item.tel .txt span{font-size: 1.4rem;}
    
    /*--ファックス--*/
    .box_contact .col_r .item.fax .txt{
        font-family: 'Amiri';
        font-size: 1.8rem;
        letter-spacing: 0;
    }
    
    /*ipadのFirefox環境だとaタグが生成されてしまうため、打消しのため*/
    .box_contact .col_r .item.fax .txt a{
        font-family: 'Amiri';
        font-size: 1.8rem;
        letter-spacing: 0;
        color: #333;
        pointer-events: none;
    }
    
    /*--メール--*/
    .box_contact .col_r .item.mail .txt a{
        font-family: 'Amiri';
        font-size: 1.8rem;
        letter-spacing: 0;
    }
    
    .box_contact .col_r .item.mail .txt a span{font-family: 'Amiri';}

	/* 記事
	---------------------------------------------- */
	.article{border-bottom: 1px solid #C7D6DA;}

	.article:first-of-type{border-top: 1px solid #C7D6DA;}
	
	.article a{
		color: #333;
		display: flex;
		padding: 20px 0;
		transition: opacity .3s;
	}
	
	.article a:hover{opacity: 0.7;}
	
	.article time{
		font-family: "Amiri";
		display: block;
		flex: none;
		width: 100px;
		padding-top: 1px;
	}
	
	.article h3{
		width: calc(100% - 100px);
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	
	/*--article_info01--*/
	.article_info01{border-bottom: 1px solid #C7D6DA;}

	.article_info01:first-of-type{border-top: 1px solid #C7D6DA;}

	.article_info01 a{
		display: block;
		padding: 20px 0;
		color: #333;
	}

	.article_info01 .cat{
		line-height: 1;
		text-align: center;
		display: inline-block;
		background: #2C5376;
		padding: 7px 10px;
		color: #FFF;
		width: 200px;
		margin-bottom: 10px;
	}

	.article_info01 a{transition: opacity .3s;}

	.article_info01 a:hover{opacity: 0.7;}

	.article_info01 a > div{display: flex;}

	.article_info01 time{
		display: block;
		flex: none;
		width: 100px;
	}

	.article_info01 h3{
		width: calc(100% - 100px);
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	
	/*--article_info02--*/
	.article_info02{border-bottom: 1px solid #C7D6DA;}

	.article_info02:first-of-type{border-top: 1px solid #C7D6DA;}

	.article_info02 a{
		display: flex;
		padding: 20px 0;
		color: #333;
	}

	.article_info02 .cat{
		line-height: 1;
		text-align: center;
		display: inline-block;
		background: #2C5376;
		padding: 7px 10px;
		color: #FFF;
		width: 200px;
	}

	.article_info02 a{transition: opacity .3s;}

	.article_info02 a:hover{opacity: 0.7;}

	.article_info02 time{
		font-family: "Amiri";
		display: block;
		flex: none;
		width: 120px;
		line-height: 28px;
		text-align: center;
	}

	.article_info02 h3{
		width: calc(100% - 320px);
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	
	/* ページナビ
	---------------------------------------------- */
	.pagenavi{
		line-height: 1.2;
		padding-top: 80px;
		margin-bottom: -5px;
		letter-spacing: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}

	.pagenavi span{
		background: #2C5376;
		color: #FFF;
		font-weight: bold;
		margin: 0 5px 5px;
		padding: 8.5px 12px;
		border: 1px solid #2C5376;
	}

	.pagenavi a{
		background: #FFF;
		color: #AFC6CB;
		margin: 0 5px 5px;
		padding: 8.5px 12px;
		border: 1px solid #AFC6CB;
	}

	.pagenavi a:hover{opacity: 0.6;}
	
	.pagenavi .pages{display: none;}
	
	.pagenavi .extend{
		font-weight: normal;
		background: none;
		border: none;
		color: #2C5376;
		padding: 0;
	}

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

	header

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

	#header{height: 100px;}

	#wrap_top{
		width: 100%;
		padding: 2px 0 0;
		font-size: 1.1rem;
		line-height: 1.2;
		color: #ACB7BD;
		text-align: right;
		position: relative;
		z-index: 3;
	}
	
	.wrap_top_inner .cloned{display: none;}

	#wrap_all.open #wrap_top{display: none;}

	.header_inner{
		background: #FFF;
		padding: 0 0 0 40px;
		width: 100%;
		min-width: 1200px;
		height: 100px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 2;
	}

	.h_logo{
		width: 423px;
		margin-right: 50px;
		flex: none;
	}

	.h_logo a{display: block;}
    
    .h_logo a img{
        width: 100%;
        height: auto;
    }

	.header_inner > div{
		width: 740px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex: none;
		padding-right: 100px;
	}

	.nav_global{margin-right:30px;}

	.nav_global ul{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.nav_global ul li{margin-right: 25px;}

	.nav_global ul li:last-of-type{margin-right: 0;}

	.nav_global ul li a{
		color: #333;
		display: block;
		line-height: 1;
		transition: opacity .3s;
	}

	.nav_global ul li a:hover{opacity: 0.7;}
	
	.btn_search{
		width: 36px;
		height: 36px;
		border: 1px solid #B5C2CC;
		border-radius: 50px;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
	}

	.btn_search img{
		width: 16px;
		height: auto;
	}

	/* メニュー
	---------------------------------------------- */
	/*--メニューを開いたとき背景固定--*/
	#wrap_all.open .wrapper{
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
	}

	/*--メニューを開くボタン--*/
	.btn_menu{
		width: 100px;
		height: 100px;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 4;
	}
	
	.btn_menu div{
		width: 26px;
		height: 19px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.btn_menu span {
		background: #25283D;
		width: 100%;
		height: 1px;
		transition: opacity 0.1s ease, transform 0.3s ease-in-out;
	}

	#wrap_all.open .btn_menu span:nth-child(1) {transform: translateY(8px) rotate(135deg);}
	#wrap_all.open .btn_menu span:nth-child(2) {opacity: 0;}
	#wrap_all.open .btn_menu span:nth-child(3) {transform: translateY(-10px) rotate(-135deg);}

	/* メニュー内
	---------------------------------------------- */
	.drawer{
		background: url(../img/pc/bg_menu01.jpg) no-repeat center bottom;
		background-size: 100%;
		width: 100%;
		height: 100vh;
		transition: opacity 0.3s;
		opacity: 0;
		pointer-events: none;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 3;
		visibility: hidden;
	}
	
	#wrap_all.open .drawer{
		opacity: 1;
		pointer-events: auto;
		overflow: hidden;
		visibility: visible;
	}

	.drawer_inner{
		background: #FFF;
		min-width: 1200px;
		padding: 40px 100px 30px;
		position: relative;
	}
	
	.m_logo{
		width: 336px;
		margin: 0 50px 40px 0;
	}

	.m_logo a{
		display: flex;
		justify-content:space-between;
		align-items: center;
	}

	.m_logo img:nth-child(1){
		width: 108px;
		height: auto;
		margin-right: 15px;;
	}

	.m_logo img:nth-child(2){
		width: 223px;
		height: auto;
	}

	#btn_search02{display: none;}

	.drawer_inner > div{display: flex;}

	.h_item{
		width: 25%;
		border-right: 1px solid #C7D6DA;
		padding: 30px;
	}

	.h_item:first-of-type{border-left: 1px solid #C7D6DA;}

	.h_item p{margin-bottom: 8px;}

	.h_item p a{
		display: block;
		color: #333;
		font-size: 1.6rem;
		line-height: 1.3;
		letter-spacing: 0.1em;
	}

	.h_item ul{margin-bottom: 50px;}

	.h_item ul li{margin-bottom: 5px;}

	.h_item ul li a{
		display: inline-block;
		color: #333;
		padding-left: 20px;
		line-height: 1.3;
		position: relative;
		transition: opacity .3s;
	}

	.h_item ul li a::before{
		content: "";
		display: block;
		background: #161825;
		width: 12px;
		height: 1px;
		position: absolute;
		top: 9px;
		left: 0;
	}

	.h_item ul li a:hover{opacity: 0.7;}

	.nav_menu{
		position: absolute;
		top: 46px;
		right: 100px;
	}

	.nav_menu ul{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.nav_menu ul li{margin-right: 21px;}

	.nav_menu ul li:last-of-type{margin-right: 0;}

	.nav_menu ul li a{
		color: #333;
		display: block;
		line-height: 1;
		transition: opacity .3s;
	}

	.nav_menu ul li a:hover{opacity: 0.7;}

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

	Google カスタム検索

	------------------------------------------------------------ */
	
	#google_search{
		position: fixed;
		top: 0;
		left: 0;
		height: 100vh;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 999;
		opacity: 0;
		transition:opacity .3s;
		pointer-events: none;
	}
	
	#google_search.on{
		opacity: 1;
		pointer-events: auto;
	}
	
	#gs_inner{
		width: 640px;
		position: relative;
	}
	
	#gs_inner input:focus{outline: none;}

	#gs_inner > p{
		text-align: center;
		color: #FFF;
		font-weight: bold;
		font-size: 2.4rem;
		line-height: 1;
		margin-bottom: 25px;
	}
	
	#gs_inner .gsc-input-box{border: none !important;}
	
	#gs_inner .gsc-search-box,
	#gs_inner #SearchText{
		background: #FFF !important;
		width: 100% !important;
		font-size: 1.6rem !important;
		line-height: 1 !important;
		border: none !important;
		margin: 0 !important;
	}
	
	#gs_inner .gsc-search-box{padding: 16px 60px 17px 20px !important;}
	
	#gs_inner #SearchText{padding: 21px 60px 21px 20px !important;}

	#gs_inner .gsc-search-button button,
	#gs_inner #SearchBtn{
		background: #FFF url("../img/ico_search01.png") no-repeat center;
		background-size: 16px;
		border: 1px solid #B5C2CC;
		border-radius: 50px;
		text-indent: -9999px;
		width: 36px;
		height: 36px;
		cursor: pointer;
		position: absolute;
		top: 50%;
		right: 15px;
		margin-top: 5px;
		padding: 0;
	}

	#google_search .btn_close_gs{
		position: fixed;
		top: 50px;
		right: 50px;
		cursor: pointer;
		z-index: 1;
	}
	
	#google_search .overlay{
		background: rgba(0, 0, 0, 0.75);
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
	}

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

	side

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

	.nav_side{
		position: fixed;
		top: 50%;
		right: 40px;
		margin-top: -275px;
	}

	.nav_side ul li{margin-bottom: 5px;}

	.nav_side ul li a{
		display: block;
		color: #333;
		padding-bottom: 32px;
		letter-spacing: 0.1em;
		position: relative;
		transition: opacity .3s;
	}

	.nav_side ul li a:hover{opacity: 0.7;}

	.nav_side ul li a::after{
		content: "";
		display: block;
		background: #C7D6DA;
		width: 1px;
		height: 30px;
		transform: rotate(45deg);
		position: absolute;
		left: 7px;
		bottom: 0;
	}

	.nav_side ul li:last-child a::after{display: none;}

	.nav_side ul li a img{
		width: 14px;
		height: auto;
	}

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

	footer

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

	.footer_inner01{
		background: #F1F4F5;
		padding: 100px;
		display: flex;
	}

	.f_item{
		width: 25%;
		border-right: 1px solid #C7D6DA;
		padding: 30px;
	}

	.f_item:first-of-type{border-left: 1px solid #C7D6DA;}

	.f_item p{margin-bottom: 8px;}

	.f_item p a{
		display: block;
		color: #333;
		font-size: 1.6rem;
		line-height: 1.3;
		letter-spacing: 0.1em;
		transition: opacity .3s;
	}

	.f_item p a:hover{opacity: 0.7;}

	.f_item ul{margin-bottom: 50px;}

	.f_item ul li{margin-bottom: 5px;}

	.f_item ul li a{
		display: inline-block;
		color: #333;
		padding-left: 20px;
		line-height: 1.3;
		position: relative;
		transition: opacity .3s;
	}

	.f_item ul li a::before{
		content: "";
		display: block;
		background: #161825;
		width: 12px;
		height: 1px;
		position: absolute;
		top: 9px;
		left: 0;
	}

	.f_item ul li a:hover{opacity: 0.7;}

	.footer_inner02{
		padding: 50px 100px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.f_logo{width:336px;}

	.f_logo a{display: block;}

	.f_logo a img{
        width: 100%;
        height: auto;
    }

	.nav_footer02 ul{
		display: flex;
		justify-content: center;
	}

	.nav_footer02 ul li{margin-right: 25px;}

	.nav_footer02 ul li:last-child{margin-right: 0;}
	
	.nav_footer02 ul li a{
		display: block;
		color: #333;
		font-size: 1.3rem;
		letter-spacing: 0.1em;
	}

	.f_small{
		position: fixed;
		top: 230px;
		left: 60px;
		z-index: 2;
		transform: rotate(90deg);
		transform-origin: 0 0;
		transition: opacity .2s;
	}

	.f_small small{
		font-family: 'Amiri';
		font-size: 1.6rem;
		letter-spacing: 0.03em;
	}

	/* ページトップボタン
	---------------------------------------------- */	
	#pagetop{
		width: 40px;
		height: 40px;
		border: 1px solid #B5C2CC;
		background: #FFF url("../img/ico_arrow02.png") no-repeat center;
		background-size: 12px;
		position: fixed;
		right: 30px;
		bottom: 30px;
		z-index: 100;
		cursor: pointer;
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s, background-color .3s;
	}

	#pagetop:hover{background-color: #B5C2CC;}
	
	#pagetop.pagetop_show{
		opacity: 1;
		pointer-events: auto;
	}
	
	#pagetop span{display: none;}

	
}/*--@media--*/


@media print{ /* 印刷時のみ */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	PC

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

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

	common

	------------------------------------------------------------ */
	
	/* レイアウト
	---------------------------------------------- */	
	#wrap_all{
		width: 1200px;
		transform: scale(0.8);
		transform-origin: 0 0;
	}
	
	
}/*--@media--*/

@media all and (max-height: 750px) {/* 表示領域が高さ750px以下の場合に適用するスタイル */
    /* ------------------------------------------------------------

	side

	------------------------------------------------------------ */
	.nav_side{
		top: 100px;
		margin-top: 0;
	}
}


@media only screen and (max-width:767px){ /* 表示領域が767px以下の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	スマートフォン（iPhone,Android)

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

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

	common

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

	body{
		font-size: 13px;
		font-size: 1.3rem;
		line-height: 1.8;
	}
	
	.pc{display: none;}
	
	.sp_br{display: block;}

	/* レイアウト
	---------------------------------------------- */
	#wrap_all{
		min-width: 320px;
		overflow: hidden;
	}
	
	.wrap_pd{margin-bottom: 80px;}

	.wrap_type01,
	.wrap_type02{padding: 50px 15px 0;}
	
	/*--404ページ--*/
	.wrap_404{
		text-align: center;
		padding: 100px 20px 0;
		margin-bottom: 100px;
	}
	
	.ttl_404{
		font-size: 3rem;
		font-weight: bold;
		margin-bottom: 12px;
	}
	
	.txt_404{margin-bottom: 30px;}
    
     /* メール
	---------------------------------------------- */
	.txt_mail::after{content: "@";}
	
	/* リンク
	---------------------------------------------- */
	.link01{
		color: #333;
		text-decoration: underline !important;
	}
	
	.link02{
		color: #2C5276;
		text-decoration: underline !important;
	}
	
    .link03{
		color: #676654;
		text-decoration: underline !important;
	}
	
	.link_tel01{
		color: #333;
		text-decoration: underline !important;
	}
	
	.link_pdf01{
		color: #333;
		text-decoration: underline !important;
	}
	
	.link_pdf01::before{
		content: "";
		display: inline-block;
		background: url("../img/ico_pdf01.png") no-repeat 0 0;
		background-size: contain;
		width: 14px;
		height: 10px;
		margin: 0 6px -1px 0;
	}
    
    .link_movie01{
		color: #333;
		text-decoration: underline !important;
	}
	
	.link_movie01::before{
		content: "";
		display: inline-block;
		background: url("../img/ico_movie01.png") no-repeat 0 0;
		background-size: contain;
		width: 14px;
		height: 18px;
		margin: 0 6px -4px 0;
	}

	/* ページタイトル
	---------------------------------------------- */
	.pagettl{
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		padding-top: 69.33%;
		max-height: 260px;
		color: #FFF;
		position: relative;
	}

	.pagettl.pagettl01{background-image: url(../img/sp/bg_pagettl01.jpg);}
	.pagettl.pagettl02{background-image: url(../img/sp/bg_pagettl02.jpg);}
	.pagettl.pagettl03{background-image: url(../img/sp/bg_pagettl03.jpg);}
	.pagettl.pagettl04{background-image: url(../img/sp/bg_pagettl04.jpg);}
	.pagettl.pagettl05{background-image: url(../img/sp/bg_pagettl05.jpg);}
	.pagettl.pagettl06{background-image: url(../img/sp/bg_pagettl06.jpg);}
	.pagettl.pagettl07{background-image: url(../img/sp/bg_pagettl07.jpg);}
	.pagettl.pagettl08{background-image: url(../img/sp/bg_pagettl08.jpg);}
	.pagettl.library01{background-image: url(../img/library/sp/bg_pagettl01.jpg);}
	.pagettl.library02{background-image: url(../img/library/sp/bg_pagettl02.jpg);}
	.pagettl.library03{background-image: url(../img/library/sp/bg_pagettl03.jpg);}
	.pagettl.library04{background-image: url(../img/library/sp/bg_pagettl04.jpg);}
	.pagettl.library05{background-image: url(../img/library/sp/bg_pagettl05.jpg);}
	.pagettl.library06{background-image: url(../img/library/sp/bg_pagettl06.jpg);}
	.pagettl.library07{background-image: url(../img/library/sp/bg_pagettl07.jpg);}

	.pagettl_inner{
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		transform: translate3d(-50%, -50%, 0);
		text-align: center;
		line-height: 1;
	}

	.pagettl_inner h2{
		font-size: 2rem;
		letter-spacing: 0.1em;
		margin-bottom: 10px;
	}

	.pagettl_inner p{
		font-family: "Amiri";
		letter-spacing: 0.03em;
		font-size: 1.6rem;
	}

	/* 見出し
	---------------------------------------------- */
	/*--heading01--*/
	.heading01{
		font-size: 1.9rem;
		letter-spacing: 0.1em;
		line-height: 1.6;
		margin-bottom: 30px;
		padding-bottom: 15px;
		border-bottom: 1px solid #C7D6DA;
		position: relative;
	}

	.heading01::before{
		content: "";
		display: block;
		background: #161825;
		width: 60px;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: -1px;
	}
	
	/*--heading02--*/
	.heading02{
		font-weight: bold;
		margin-bottom: 10px;
		position: relative;
		padding-left: 10px;
	}
	
	.heading02::before{
		content: "";
		background: #333333;
		width: 3px;
		height: 16px;
		position: absolute;
		top: 2px;
		left: 0;
	}
	
	/*--heading03--*/
	.heading03{
		font-size: 1.8rem;
		letter-spacing: 0.1em;
		line-height: 1.6;
		padding-bottom: 10px;
		margin-bottom: 25px;
		position: relative;
	}
	
	.heading03::after{
		content: "";
		background: #2C5376;
		width: 25px;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	
	/*--heading04--*/
	.heading04{
		font-size: 2rem;
		line-height: 1.4;
		letter-spacing: 0.1em;
		margin-bottom: 30px;
		position: relative;
		padding-left: 15px;
	}
	
	.heading04::before{
		content: "";
		background: #333333;
		width: 2px;
		height: 20px;
		position: absolute;
		top: 5px;
		left: 0;
	}
	
	/*--heading05--*/
    .heading05{
        position: relative;
        padding-left: 15px;
        margin-bottom: 15px;
    }
    
    .heading05::before{
        content: "";
        background: #2C5376;
        width: 10px;
        height: 10px;
        position: absolute;
        top: 7px;
        left: 0;
    }
	
	/* パンくずリスト
	---------------------------------------------- */
	.breadcrumb{
		font-size: 1.1rem;
		padding: 10px 15px 0;
	}
	
	.breadcrumb ul{
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	
	.breadcrumb ul li{
		display: inline;
		vertical-align: middle;
		color: #585A61;
		padding-right: 13px;
		margin-right: 5px;
		position: relative;
	}
	
	.breadcrumb ul li::after{
		content: "";
		display: block;
		background: url("../img/ico_arrow03.png") no-repeat 0 0;
		background-size: contain;
		width: 5px;
		height: 8px;
		position: absolute;
		top: 5px;
		right: 0;
	}
	
	.breadcrumb ul li:last-child{
		padding-right: 0;
		margin-right: 0;
	}
	
	.breadcrumb ul li:last-child::after{display: none;}

	.breadcrumb ul li a{
		color: #585A61;
		text-decoration: underline;
	}

	/* ボタン
	---------------------------------------------- */
	/*--btn_type01--*/
	.btn_type01 a{
		display: inline-block;
		color: #333;
		border-bottom: 1px solid #C7D6DA;
		line-height: 1.4;
		min-width: 165px;
		padding: 0 35px 10px 0;
		position: relative;
	}

	.btn_type01 a::after{
		content: "";
		display: block;
		background: url(../img/ico_arrow01.png) no-repeat 0 0;
		background-size: contain;
		width: 14px;
		height: 11px;
		position: absolute;
		right: 0;
		bottom: 13px;
	}
	
	/*--btn_back01--*/
	.btn_back01 a{
		display: inline-block;
		color: #333;
		border-bottom: 1px solid #C7D6DA;
		line-height: 1.4;
		min-width: 110px;
		padding: 0 0 10px 35px;
		position: relative;
	}

	.btn_back01 a::after{
		content: "";
		display: block;
		background: url(../img/ico_arrow01.png) no-repeat 0 0;
		background-size: contain;
		width: 14px;
		height: 11px;
		transform: scale(-1, 1);
		position: absolute;
		left: 0;
		bottom: 12px;
	}
	
	/*--btn_back02--*/
	.btn_back02{
		margin: 30px auto 0;
		border: 1px solid #C7D6DA;
		width: 152px;
	}

	.btn_back02 a{
		position: relative;
		padding: 14px 25px;
		line-height: 1;
		font-size: 1.2rem;
		display: block;
		color: #333;
		background: #FFF;
		text-align: center;
	}

	.btn_back02 a::before{
		content: "";
		display: block;
		background: url("../img/ico_arrow01.png") no-repeat 0 0;
		background-size: contain;
		transform: scale(-1, 1);
		width: 14px;
		height: 11px;
		position: absolute;
		top: 50%;
		left: 8px;
		margin-top: -5.5px;
		pointer-events: none;
		z-index: 1;
	}
	
	/*--btn_back03--*/
    .btn_back03 a{
		position: relative;
        padding: 14px 25px;
        line-height: 1;
		font-size: 1.2rem;
        display: inline-block;
		min-width: 152px;
		border: 1px solid #E1E1DD;
		color: #333;
        background: #FFF;
		text-align: center;
    }
    
    .btn_back03 a::before{
		content: "";
		display: block;
		background: url("../../img/ico_arrow01.png") no-repeat 0 0;
		background-size: contain;
		transform: scale(-1, 1);
		width: 14px;
		height: 11px;
		position: absolute;
		top: 50%;
		left: 8px;
		margin-top: -5.5px;
		pointer-events: none;
        z-index: 1;
	}
	
	/* リスト
	---------------------------------------------- */
	/*--list_type01--*/
	.list_type01 li{
		margin-bottom: 10px;
		position: relative;
		padding-left: 13px;
	}
	
	.list_type01 li::before{
		content: "";
		display: block;
		background: #333333;
		width: 5px;
		height: 5px;
		border-radius: 50px;
		position: absolute;
		top: 9px;
		left: 0;
	}
	
	/*--list_type02--*/
    .list_type02 > li{
        position: relative;
        padding-left: 20px;
        margin-bottom: 15px;
        line-height: 1.8;
    }
    
    .list_type02 > li:last-child{margin-bottom: 0;}
    
    .list_type02 > li::before{
        content: "";
        background: #2C5376;
        width: 10px;
        height: 10px;
        position: absolute;
        top: 8px;
        left: 0;
    }
	
     /*--list_type04--*/
    .list_type04 > li{
        position: relative;
        padding-left: 9px;
        margin-bottom: 15px;
    }
    
    .list_type04 > li::before{
        content: "";
        background: #2C5376;
        width: 6px;
        height: 6px;
        border-radius: 50px;
        position: absolute;
        top: 7px;
        left: 0;
    }
    
    .list_type04 > li:last-child{margin-bottom: 0;}
	
    /* 問い合わせボックス
	---------------------------------------------- */
    .box_contact{
        border: 1px solid #C7D6DA;
        padding: 20px 15px;
        margin-bottom: 20px;
    }
    
    .box_contact:last-of-type{margin-bottom: 0;}
    
    .box_contact .col_l{
        padding-bottom: 20px;
        border-bottom: 1px solid #C7D6DA;
        margin-bottom: 15px;
    }
    
    .box_contact .col_l p{
        position: relative;
        padding-left: 15px;
    }
    
    .box_contact .col_l p::before{
        content: "";
        background: #2C5376;
        width: 10px;
        height: 10px;
        position: absolute;
        top: 7px;
        left: 0;
    }
    
    .box_contact .col_r .item{
        display: flex;
		margin-bottom: 5px;
    }
	
	.box_contact .col_r .item:last-of-type{margin-bottom: 0;}
    
    .box_contact .col_r .item .sub{
        position: relative;
        width: 105px;
		flex: none;
		padding-left: 20px;
    }
	
    .box_contact .col_r .item.tel .sub::before{
        content: "";
        background: url("../img/ico_tel01.png") no-repeat 0 0;
        background-size: contain;
        width: 14px;
        height: 15px;
        position: absolute;
        top: 5px;
        left: 0;
    }
    
     .box_contact .col_r .item.fax .sub::before{
        content: "";
        background: url("../img/ico_fax01.png") no-repeat 0 0;
        background-size: contain;
        width: 14px;
        height: 15px;
        position: absolute;
        top: 5px;
        left: 0;
    }
    
    .box_contact .col_r .item.mail .sub::before{
        content: "";
        background: url("../img/ico_mail01.png") no-repeat 0 0;
        background-size: contain;
        width: 14px;
        height: 12px;
        position: absolute;
        top: 7px;
        left: 0;
    }
    
    .box_contact .col_r .item.map .sub::before{
        content: "";
        background: url("../img/ico_map01.png") no-repeat 0 0;
        background-size: contain;
        width: 14px;
        height: 19px;
        position: absolute;
        top: 3px;
        left: 0;
    }
    
	.box_contact .col_r .item .txt{
		position: relative;
		padding-left: 28px;
	}
	
    .box_contact .col_r .item .txt::before{
        content: "";
        background: #2C5376;
        width: 20px;
        height: 1px;
        position: absolute;
        top: 10px;
        left: 0;
    }
    
    /*--電話--*/
    .box_contact .col_r .item.tel .txt a{
        font-family: 'Amiri';
        font-size: 1.5rem;
        letter-spacing: 0;
    }
    
    .box_contact .col_r .item.tel .txt span{
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 1.2rem;
    }
    
    /*--FAX--*/
    .box_contact .col_r .item.fax .txt{
        font-family: 'Amiri';
        font-size: 1.5rem;
        letter-spacing: 0;
    }
    
    /*Firefoxだとaタグが生成されてしまうため打消し用*/
    .box_contact .col_r .item.fax .txt a{
        font-family: 'Amiri';
        font-size: 1.5rem;
        letter-spacing: 0;
        color: #333;
        pointer-events: none;
    }

    /*--メール--*/
    .box_contact .col_r .item.mail .txt a{
        font-family: 'Amiri';
        font-size: 1.5rem;
        letter-spacing: 0;
    }
    
    .box_contact .col_r .item.mail .txt a span{font-family: 'Amiri';}

	/* 記事
	---------------------------------------------- */
	.article{border-bottom: 1px solid #C7D6DA;}

	.article:first-of-type{border-top: 1px solid #C7D6DA;}
	
	.article a{
		display: block;
		color: #333;
		padding: 12px 0;
	}
	
	.article time{
		font-family: "Amiri";
		display: block;
	}
	
	.article h3{
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	
	/*--article_info01--*/
	.article_info01{border-bottom: 1px solid #C7D6DA;}

	.article_info01:first-of-type{border-top: 1px solid #C7D6DA;}

	.article_info01 a{
		display: block;
		padding: 15px 0;
		color: #333;
	}

	.article_info01 .cat{
		line-height: 1;
		text-align: center;
		display: inline-block;
		background: #2C5376;
		padding: 5px 10px;
		color: #FFF;
		width: 150px;
		margin-bottom: 5px;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
	}

	.article_info01 time{
		display: block;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
		margin-bottom: 2px;
	}

	.article_info01 h3{
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	
	/*--article_info02--*/
	.article_info02{border-bottom: 1px solid #C7D6DA;}

	.article_info02:first-of-type{border-top: 1px solid #C7D6DA;}

	.article_info02 a{
		display: block;
		padding: 15px 0;
		color: #333;
	}

	.article_info02 .cat{
		line-height: 1;
		text-align: center;
		display: inline-block;
		background: #2C5376;
		padding: 5px 10px;
		color: #FFF;
		min-width: 150px;
		margin-bottom: 5px;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
	}

	.article_info02 time{
		display: inline-block;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
		margin-left: 10px;
	}

	.article_info02 h3{
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	
	/* ページナビ
	---------------------------------------------- */
	.pagenavi{
		line-height: 1.2;
		padding-top: 40px;
		margin-bottom: -5px;
		letter-spacing: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}

	.pagenavi span{
		background: #2C5376;
		color: #FFF;
		font-weight: bold;
		margin: 0 5px 5px;
		padding: 4.5px 8px;
		border: 1px solid #2C5376;
	}

	.pagenavi a{
		background: #FFF;
		color: #AFC6CB;
		margin: 0 5px 5px;
		padding: 4.5px 8px;
		border: 1px solid #AFC6CB;
	}

	.pagenavi a:hover{opacity: 0.6;}
	
	.pagenavi .pages{display: none;}
	
	.pagenavi .extend{
		font-weight: normal;
		background: none;
		border: none;
		color: #2C5376;
		padding: 0;
	}

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

	header

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

	#wrap_top{
		color: #ACB7BD;
		font-size: 1rem;
		line-height: 1.2;
		z-index: 2;
	}

	.wrap_top_inner{
		display: flex;
		flex-wrap: nowrap;
		padding: 2px 0;
	}

	.wrap_top_inner h1{white-space: nowrap;}
	
	.h_logo{
		width: 230px;
		padding: 12px 0 0 15px;
	}

	.h_logo a{display: block;}

	.h_logo img{
		width: 100%;
		height: auto;
	}

	.header_inner{height: 47px;}

	.nav_global{display: none;}

	.btn_search{
		width: 28px;
		height: 47px;
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 16px;
		right: 53px;
	}

	.btn_search img{
		width: 18px;
		height: auto;
	}
	
	/* メニュー
	---------------------------------------------- */
	/*--メニューを開いたとき背景固定--*/
	#wrap_all.open .wrapper{
		width: 100%;
		position: fixed;
		top: 63px;
		left: 0;
	}
	
	/*--メニューを開くボタン--*/
	.btn_menu{
		width: 53px;
		height: 47px;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		position: fixed;
		top: 16px;
		right: 0;
		z-index: 4;
	}
	
	.btn_menu div{
		width: 23px;
		height: 17px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.btn_menu span {
		background: #25283D;
		width: 100%;
		height: 1px;
		transition: opacity 0.1s ease, transform 0.3s ease-in-out;
	}

	#wrap_all.open .btn_menu span:nth-child(1) {transform: translateY(6px) rotate(135deg);}
	#wrap_all.open .btn_menu span:nth-child(2) {opacity: 0;}
	#wrap_all.open .btn_menu span:nth-child(3) {transform: translateY(-10px) rotate(-135deg);}
	
	/* メニュー内
	---------------------------------------------- */	
	.drawer{
		background: #FFF;
		width: 100%;
		height: 100vh;
		transition: opacity .3s;
		opacity: 0;
		pointer-events: none;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 3;
		visibility: hidden;
	}
	
	#wrap_all.open .drawer{
		opacity: 1;
		pointer-events: auto;
		overflow: hidden;
		visibility: visible;
	}

	.drawer .drawer_inner{
		width: 100%;
		height: 100%;
		-webkit-overflow-scrolling: touch;
		overflow-y: scroll;
		padding: 31px 15px 70px;
		display: flex;
		flex-direction: column;
	}

	.m_logo{
		width: 226px;
		margin-bottom: 60px;
	}

	.m_logo a{
		display: flex;
		justify-content:space-between;
		align-items: center;
	}

	.m_logo img:nth-child(1){
		width: 72.5px;
		height: auto;
		margin-right: 10px;
	}

	.m_logo img:nth-child(2){
		width: 143.5px;
		height: auto;
	}

	.h_item p{border-top: 1px solid #C7D6DA;}

	.h_item:last-of-type p:last-of-type{border-bottom: 1px solid #C7D6DA;}

	.h_item:last-of-type p.on:last-of-type{border-bottom: none;}

	.h_item:last-of-type p.on:last-of-type + ul{border-bottom: 1px solid #C7D6DA;}

	.h_item p a{
		display: block;
		color: #333;
		padding: 15px 0;
		position: relative;
		pointer-events: none;
	}
	
	.h_item p.linkok a{pointer-events: auto;}

	.h_item p a .ico{
		position: absolute;
		top: 50%;
		right: 10px;
		display: block;
		width: 16px;
		height: 16px;
		transition:transform .333s;
		margin-top: -8px;
	}
	
	.h_item p.on a .ico{transform:rotate(90deg);}
	
	.h_item p a .ico::before,
	.h_item p a .ico::after{
		content: "";
		display: block;
		width: 16px;
		height: 2px;
		background: #333;
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -1px;
	}
	.h_item p a .ico::before{transform:rotate(90deg);}

	.h_item p.on a .ico::after{display: none;}

	.h_item ul{
		display: flex;
		flex-wrap: wrap;
		padding: 10px 0;
	}

	.h_item p.on + ul{border-top: 1px dotted #C7D6DA;}

	.h_item ul li{width: 50%;}

	.h_item ul li a{
		color: #333;
		display: block;
		padding: 8px 0 8px 15px;
		line-height: 1.3;
		position: relative;
	}

	.h_item ul li:nth-of-type(odd) a{padding-right: 10px;}

	.nav_menu ul{
		display: flex;
		flex-wrap: wrap;
		padding: 35px 0 0;
	}

	.nav_menu ul li{width: 50%;}

	.nav_menu ul li a{
		color: #333;
		display: block;
		padding: 10px 0;
		font-size: 1.2rem;
		line-height: 1.3;
		position: relative;
	}


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

	Google カスタム検索

	------------------------------------------------------------ */
	
	#google_search{
		position: fixed;
		top: 0;
		left: 0;
		height: 100vh;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 999;
		opacity: 0;
		transition:opacity .3s;
		pointer-events: none;
	}
	
	#google_search.on{
		opacity: 1;
		pointer-events: auto;
	}
	
	#gs_inner{
		width: 100%;
		padding: 0 20px;
		position: relative;
		z-index: 5;
	}
	
	#gs_inner input:focus{outline: none;}

	#gs_inner > p{
		text-align: center;
		color: #FFF;
		font-weight: bold;
		font-size: 1.3rem;
		line-height: 1;
		margin-bottom: 15px;
	}
	
	#gs_inner .gsc-input-box{border: none !important;}
	
	#gs_inner .gsc-search-box,
	#gs_inner #SearchText{
		background: #FFF !important;
		width: 100% !important;
		font-size: 1.6rem !important;
		line-height: 1 !important;
		border: none !important;
		margin: 0 !important;
	}
	
	#gs_inner .gsc-search-box{padding: 0 40px 0 10px !important;}
	
	#gs_inner #SearchText{padding: 7px 40px 7px 10px !important;}

	#gs_inner .gsc-search-button button,
	#gs_inner #SearchBtn{
		background: url("../img/ico_search01.png") no-repeat center;
		background-size: 12px;
		border: 1px solid #B5C2CC;
		border-radius: 50px;
		text-indent: -9999px;
		width: 25px;
		height: 25px;
		cursor: pointer;
		position: absolute;
		top: 50%;
		right: 30px;
		margin-top: 1px;
		padding: 0;
	}
	
	#google_search .btn_close_gs{
		position: fixed;
		top: 50px;
		right: 25px;
		cursor: pointer;
		z-index: 1;
	}
	
	#google_search .btn_close_gs img{width: 25px;}
	
	#google_search .overlay{
		background: rgba(0, 0, 0, 0.75);
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 4;
	}

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

	side

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

	.nav_side{display: none;}
	
	
	/* ------------------------------------------------------------

	footer

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

	.footer_inner01{
		background: #F1F4F5;
		padding: 40px 15px;
	}

	.f_item p{border-bottom: 1px solid #C7D6DA;}

	.f_item:first-of-type p:first-of-type{border-top: 1px solid #C7D6DA;}

	.f_item p a{
		background: url(../img/ico_arrow01.png) no-repeat right center;
		background-size: 14px;
		display: block;
		color: #333;
		padding: 15px 25px 15px 0;
	}

	.f_item ul{display: none;}

	.footer_inner02{
		padding: 20px 15px 10px;
		display: flex;
		flex-direction: column-reverse;
	}

	.nav_footer02{
		padding-bottom: 20px;
		margin-bottom: 30px;
		border-bottom: 1px solid #C7D6DA;
	}

	.nav_footer02 ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.nav_footer02 ul li{width: 50%;}

	.nav_footer02 ul li:last-child{margin-right: 0;}
	
	.nav_footer02 ul li a{
		display: block;
		color: #333;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
		padding: 10px 0;
	}

	.f_logo{width: 230px;}

	.f_logo a{display: block;}

	.f_logo img{
		width: 100%;
		height: auto;
	}

	.f_small{
		font-size: 1rem;
		letter-spacing: 0.03em;
		line-height: 1;
		padding: 0 15px 30px;
	}

	/* ページトップボタン
	---------------------------------------------- */	
	#pagetop{
		width: 100%;
		height: 47px;
		border-top: 1px solid #B5C2CC;
		cursor: pointer;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	#pagetop span{
		font-family: "Amiri";
		color: #141825;
		font-size: 1.5rem;
		letter-spacing: 0.03em;
		line-height: 1;
		min-height: 27px;
		display: flex;
		align-items: center;
	}

	#pagetop span::before{
		content: "";
		display: inline-block;
		background: url("../img/ico_arrow02.png") no-repeat center;
		background-size: 6px;
		border: 1px solid #C7D6DA;
		width: 16px;
		height: 16px;
		margin-right: 10px;
	}
	
	
}/*--@media--*/


@media only screen and (max-width:350px){ /* 表示領域が350px以下の場合に適用するスタイル */
	
    /* 問い合わせボックス
	---------------------------------------------- */
    .box_contact .col_r .item{letter-spacing: 0;}
    
	.box_contact .col_r .item .txt{
		padding: 5px 0 0 0;
		line-height: 1.2;
	}
	
    .box_contact .col_r .item .txt::before{display: none;}
	
	
}/*--@media--*/
