@charset "utf-8";

/*
Theme Name: shiele
Theme URI: https://egonschiele.jp/
Description: オリジナルテーマ
Author: （株）エイト
Author URI: 
Version: 1.0
*/

/* 使用フォント */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

/* adminbar */

/*
.customize-support header { margin-top: 32px !important; }
@media screen and ( max-width: 768px ) {
.customize-support header { margin-top: 46px !important; }
}
*/

/* サイト内共通 */

body {
	color: #333;
}

p {
	line-height: 1.7em;
	margin-bottom: 1.2em;
	font-size:100%;
}

a {
	color:#1aa37c;
	text-decoration:none;
	transition:0.2s ease-in-out;
}

a:hover {
	color:#6fceb5;
	text-decoration:underline;
}

a:visited {
	color:#108c6c;
}

.container {
    position: relative;
    margin: 0 auto;
}

.table {
	border-collapse: collapse;
}

.table th,
.table td {
	border:1px solid #b3b3b3;
}

.item_photo {
	text-align: center;
	line-height: 1.4em;
	font-size: 90%;
}

.link_btn01 {
    text-align: center;
	margin:0 auto;
}

.link_btn01 a {
	display: inline-block;
    font-size: 1rem;
    line-height: 1.2;
	background-color: #49ba9c;
    border:2px solid #49ba9c;
	color:#fff;
	padding:15px 30px;
	text-align: center;
	text-decoration: none;
	border-radius: 15px;
}

.link_btn01 a span {
    font-size: 1rem;
}

.link_btn01 a:hover {
	background-color: #FFF;
    color: #49ba9c;
}

.link_btn02 {
	width:80%;
	height:auto;
}

.link_btn02 a {
	display: block;
	width:240px;
	background-color: #9b3737;
    border:2px solid #9b3737;
	color:#fff;
	padding:15px 30px;
	text-align: center;
	text-decoration: none;
	border-radius: 15px;
}

.link_btn02 a:hover {
	background-color: #FFF;
    color: #9b3737;
}

.link_btn_w01 {
    text-align: center;
	margin:0 auto;
}

.link_btn_w01 a {
	display: inline-block;
    font-size: 1rem;
    line-height: 1.2;
	background-color: #fff;
    border:2px solid #fff;
	color:#9b3737;
	padding:15px 30px;
	text-align: center;
	text-decoration: none;
	border-radius: 2px;
}

.link_btn_w01 a span {
    font-size: 1rem;
}

.link_btn_w01 a:hover {
	background-color: #317cd6;
    color:#fff;
}

.link_btn_w02 {
	width:80%;
	height:auto;
    margin: 0 auto;
}

.link_btn_w02 a {
	display: block;
	width:240px;
	border:2px solid #FFF;
	color:#fff;
	padding:10px 30px;
	text-align: center;
	text-decoration: none;
	border-radius: 2px;
    margin: 0 auto;
}

.link_btn_w02 a:hover {
	background-color: #FFF;
    color:#317cd6;
}

.narrow {
    width: 768px;
    margin: 0 auto;
}

/* リンクアイコン */
a[href$=".pdf"]:before {
    content: "";
    background-image: url("images/icex_pdf.svg");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 50px auto;
    padding-left: 45px;
}

.magazine_box a[href$=".pdf"]:before {
	display:none;
}

a[href$=".doc"]:before,
a[href$=".docx"]:before {
    content: "";
    background-image: url("images/icex_doc.svg");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 50px auto;
    padding-left: 45px;
}

a[href$=".xls"]:before,
a[href$=".xlsx"]:before {
    content: "";
    background-image: url("images/icex_xls.svg");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 50px auto;
    padding-left: 45px;
}

a[href$=".ppt"]:before,
a[href$=".pptx"]:before {
    content: "";
    background-image: url("images/icex_ppt.svg");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 50px auto;
    padding-left: 45px;
}

/* サイト共通共通 */

section {
	padding:50px 0;
}

#main {
	margin-bottom: 80px;
}


/* 固定ページ・投稿共通 */

.col_img img {
    /*width: 100%;*/
    max-width: 100% !important;
    height:auto;
}

p + h2,
ul + h2,
ol + h2,
table + h2 {
	margin-top: 40px;
}

p + h3,
ul + h3,
ol + h3,
table + h3 {
	margin-top: 20px;
}

.row {
    justify-content: space-between;
}

/* 固定ページ共通 */

.page .entry h1,
.main_title {
    text-align: center;
    margin-bottom: 1.5em;
}

.page .entry h2,
.page .entry .narrow h2 {
    display: flex;
    position: relative;
    align-items: center;
    font-size: 1.8rem;
    font-weight: normal;
    line-height: 1.4;
    margin-bottom: 30px;
}

.page .entry h2:after,
.page .entry .narrow h2:after {
    content: "";
    border-top: 1px solid #99cebe;
    flex-grow: 1;
    margin-left: 1em;
}

.page .entry h3,
.page .entry .narrow h3 {
    display: block;
    position: relative;
    font-size:1.4rem;
    line-height: 1.4;
    padding:0 0 0;
    margin-bottom: 20px;
}

.page .entry > h4,
.page .entry > .narrow h4{
    display: inline-block;
    position: relative;
    font-size:1.2rem;
    line-height: 1.4;
    margin-bottom: 10px;
    padding:4px;
    border-bottom:2px solid #ddd;
}

.page .entry > h5,
.page .entry > .narrow h5 {
    display: block;
    position: relative;
    font-size:1.1rem;
    line-height: 1.4;
    margin-bottom: 5px;
}

.page .entry img {
    max-width: 100%;
    height:auto;
}

.page .entry ul li {
    margin-bottom: 1.5em;
}

.page .entry table {
    border-collapse: collapse;
    margin-bottom: 5px;
}

.page .entry table th,.page .entry table td {
    padding:15px 10px;
    border:1px solid #ddd;
    line-height: 1.4;
}

.page .entry table th {
    background-color: #a7cdf2;
}

.page .entry strong {
    /*background-color: #8dc98f;*/
}

/*
/* コンテンツ別 */
/*


/* コラム */

/* コラムトップ */

#column h2 {
    font-size: 1.6rem;
    text-align: center;
    margin-bottom: 30px;
}

.column_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.column_list dt,
.column_list dd {
    line-height: 1.4;
    border-bottom:1px solid #ddd;
    padding:15px 5px;
}

.column_list dt {
    flex-basis:32%;
}

.column_list dd {
    flex-basis:68%;
}

.column_list .i_date {
	display:inline-block;
	width:120px;
	white-space:nowrap;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/* コラム一覧・個別 */

.ch_column {
	text-align:center;
	font-size:1.4rem;
	margin-top:20px;
}

.ch_column .ch_title {
	position: relative;
	padding: 0 65px;
	text-align: center;
}

.ch_column .ch_title:before {
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: 100%;
	height: 1px;
	content: '';
	background: #99cebe;
}

.ch_column .ch_title span {
	position: relative;
	padding: 0 1em;
	background: #fff;
}

.post .entry {
	margin-bottom:60px;
}

.post h1 {
	font-size:1.6rem;
	line-height: 1.3;
	margin-bottom: 0.6em;
	padding:5px 0;
}

.post h2 {
    display: block;
    position: relative;
    font-size:1.4rem;
    line-height: 1.4;
    padding:0 0 0 40px;
    margin-bottom: 20px;
}

.post h2:before {
    content:"";
    display: block;
    position: absolute;
    top:50%;
    left:0;
    width:30px;
    height:3px;
    background-color: #317cd6;
}

.post h3 {
    display: inline-block;
    position: relative;
    font-size:1.2rem;
    line-height: 1.4;
    margin-bottom: 10px;
    padding:4px;
    border-bottom:2px solid #ddd;
}

.post h3:after {
    content: "";
    display: block;
    line-height: 0;
}

.post h4 {
    display: block;
    position: relative;
    font-size:1.1rem;
    line-height: 1.4;
    margin-bottom: 5px;
}

.post .entry_info {
	margin-bottom:40px;
    text-align: right;
}

.post .entry_info .clabel {
    display: inline-block;
	color: #FFF;
    text-align: center;
    width: 75px;
    font-size: 0.8rem;
	padding:3px 6px;
    margin-left: 10px;
}

.post .entry_img {
	width:100%;
	margin-bottom:20px;
}

.post .entry_img img {
	width:100%;
	max-width:100%;
	height:auto;
}

.nav-links {
	display: flex;
	list-style:none;
	justify-content: space-between;
	margin:0;
}

.nav-links li {
	display:block;
	margin:0;
}

/* ページ送り */

.wp-pagenavi {
	clear: both;
	text-align:center;
	margin-bottom:40px;
}
.wp-pagenavi a, .wp-pagenavi span {
	color: #999;
	background-color: #FFF;
	border: solid 1px #49ba9c;
	margin: 0 2px;
	white-space: nowrap;
	border-radius: 2px;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	text-align: center;
	text-decoration:none;
    padding: 8px 12px;
}
.wp-pagenavi a:hover{
    color:#FFF; 
    background-color:#999; 
    border-color:#999;
 }
 
.wp-pagenavi span.current{
	color: #FFF;
	background-color: #49ba9c;
	border-color:transparent;
	font-weight: bold;
}

/* お問い合わせ */

.contact01 {
    text-align: center;
}

.contact01 h2 {
    text-align: center;
    margin-bottom: 5px;
}

.contact01 h2 {
    display: inline-block;
    font-size: 1.4rem;
    padding:20px 0 20px 55px;
    background-image: url("images/ic_tel_b.svg");
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 40px auto;
}

.contact_txt {
    text-align: center;
    font-size: 1.4rem;
    margin-bottom: 10px;
    line-height: 1.2;
}

.contact_txt span {
    font-size: 2.6rem;
}

#contact01 p {
    text-align: center;
}

.cf {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.cf dt,.cf dd {
    margin-bottom: 20px;
	line-height:1.4;
}

.cf dt {
    flex-basis: 30%;
}

.cf dd {
    flex-basis: 67%;
}

.cf dd input[type='text'] {
	display:inline-block;
}

.req {
	color:#F00;
}

.file-button{ 
	font-size: 12px;
}

.file-button::file-selector-button {
	font-weight: bold;
	color: #333;
	background: #ccc;
	font-size: 14px;
	border: 1px solid #aaa;
	border-radius: 5px;
	padding: 8px 16px;
	text-align: center;
	cursor:pointer;
}

.cf_confirm {
	display:block;
	padding:15px 15px 10px;
	background-color:#d4e5f4;
	list-style:none;
	margin:0;
	border-radius:5px;
}

.cf_confirm li {
	margin:0 0 10px 0;
}

.scroll-box {
	height:240px;
	overflow-y:scroll;
	border:1px solid #d4e5f4;
	background-color:#eee;
	padding:20px;
}

.scroll-box h3 {
	font-size:1.2rem;
	line-height:1.4;
	margin-bottom:10px;
}

.wpcf7-radio .wpcf7-list-item {
	margin-bottom:5px;
}

/* プライバシーポリシー */

.privacy h2 {
    font-size: 1.2rem;
    color: #333;
    margin-bottom: 10px;
}

.privacy h3 {
    font-size: 1.1rem;
    margin-bottom: 5px;
}


/* サイト内共通パーツ*/

.table th,
.table td {
	padding:10px;
}
	
a.anchor {
    display: block;
    padding-top: 120px;
    margin-top: -120px;
}

.photo_row {
	display: flex;
	justify-content: center;
}

.dl_table {
    display:flex;
    flex-wrap: wrap;
}

.dl_table dt,.dl_table dd {
    display: block;
    font-size: 1rem;
    line-height: 1.5;
    padding:15px 10px;
}

.dl_table dt {
    flex-basis:20%;
    font-weight: 600;
}

.dl_table dd {
    flex-basis:80%;
}

.table00 th,
.table00 td {
    padding:10px;
    line-height: 1.4;
}

.table00 th {
    text-align: left;
}

.table01 {
    width: 100%;
    border-collapse: collapse;
}

.table01 th,
.table01 td {
    padding: 10px;
    line-height: 1.4;
    text-align: left;
    border: 1px solid #464646;
    vertical-align: middle;
}

.table01 th {
    background-color: #d6e5f7;
    text-align: center;
}

.table01 tr:nth-child(odd) td {
    background-color: #eaeff4;
}

.table01 td span {
    font-size: 0.9rem;
}

.table02 {
    width: 100%;
    border-collapse: collapse;
}

.table02 th,
.table02 td {
    padding: 15px 10px ;
    line-height: 1.4;
    text-align: left;
    vertical-align: top;
    border-bottom:1px solid #ddd;
}

.table_scroll {
    overflow-x: scroll;
}

.gmap,.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    height: 0;
}

.gmap iframe,.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.row_rev {
    flex-direction: row-reverse;
}

.col_img {
    text-align: center;
    font-size: 0.8rem;
    line-height: 1.4;
}

.col_img img {
    margin-bottom: 5px;
}

.img_border {
    border:1px solid #ddd;
}

.txt_center {
    text-align: center;
}

.txt_f_green {
    color: #1a9122;
}

.s_narrow {
    width: 540px;
    margin: 0 auto;
}

.box01 {
    padding:30px;
    background-color: #f4efe9;
    border:1px solid #d8d1c5;
    border-radius: 3px;
}

.box02 {
    padding:20px;
    border:1px solid #ddd;
    border-radius: 3px;
    margin-bottom: 15px;
}

.box03 {
    padding:20px 20px 5px;
    border:2px solid #317cd6;
    background-color: #ccdff2;
    border-radius: 3px;
}

.box_vec01 {
    position: relative;
}

.box_vec01:after {
    content: "";
    position: absolute;
    display: block;
    top:45%;
    right:-20px;
    height: calc(20px / 2 * tan(60deg));
    width: 20px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: #ddd;
}

/* 一覧ページ */

.news_list_item {
	display:flex;
	padding:0 0 15px 0;
	margin:0 0 15px 0;
	border-bottom:1px dotted #CCC;
	justify-content:space-between;
}
	
.news_list_date,
.news_list_title {
	line-height:1.4;
}
	
.news_list_date {
	flex-basis:20%;
}
	
.news_list_title {
	flex-basis:78%;
	
}
	


/*------------------------------------------
  Responsive Grid Media Queries - 1280, 1024, 768, 480
   1280-1024   - デスクトップ（デフォルトのグリッド）
   1024-768    - タブレット横長
   768-480     - タブレット縦長
   480-less    - スマホ
--------------------------------------------*/
@media all and (min-width: 1024px) and (max-width: 1280px) {



}

@media all and (min-width: 768px) and (max-width: 1024px) {

body {
    padding-top: 0;
}

.container {
    width: 100% !important;
}

img {
	max-width: 100%;
	width:100%;
	height:auto;
}

/* パンくず */
.bc_nav {
	margin-top:10px;
}

}

@media screen and (min-width: 768px) {

body#top {
	padding:0 0 0 0;
}

body {
	padding:100px 0 0 0;
}

a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}

.container {
	width:1030px;
	margin: 0 auto;
}


/* 汎用 */

.row_pc_nowrap {
    flex-wrap: nowrap !important;
}

.pc_center {
    text-align: center;
}

.dl_table dt,.dl_table dd {
    border-bottom:1px solid #ddd;
}

.img_right {
    float:right;
    width:33%;
    margin:0 0 20px 20px;
}

.row_gallery {
    flex-wrap: nowrap !important;
}

.row_gallery .col_img {
    margin-right: 5px;
}

.row_gallery .col_img img {
    width:auto;
    height:100%;
    object-fit: cover;
}

}

@media screen and (max-width: 767px) {

body#top {
	padding:0 0 0 0;
}

body {
	padding:60px 0 0 0;
}

/* サイト内共通 */

.container {
	width:100%;
	padding:0 15px;
}

.narrow {
    width: 100%;
    margin: 0 auto;
}

.table th,
.table td {
	padding:8px;
}

a.anchor {
    display: block;
    padding-top: 60px;
    margin-top: -60px;
}

.link_btn_w,.link_btn_w a {
    margin: 0 auto;
}

.col_img {
    margin-bottom: 10px;
}

/* お知らせ一覧 */

.news_list {
    width: 100%;
}

.news_list dt {
    flex-basis:100%;
    border: none;
    padding:15px 5px 0;
}

.news_list dd {
    flex-basis:100%;
}

/* お知らせ個別 */

.entry_box {
    width: 100%;
}


/* 固定ページ共通 */

#main {
	margin-bottom: 60px;
}

.entry img {
	margin-bottom: 5px;
}

.page .entry table {
    font-size: 0.9rem;
}

/* コンテンツ別 */


/* ページ送り */

.wp-pagenavi a, .wp-pagenavi span {
	padding: 4px 6px;
	font-size:12px;
}

/* サイト共通 */

.row {
    justify-content: space-between;
}

.sc_table {
    min-width: 1000px;
}

.s_narrow {
    width: 100%;
    margin: 0 auto;
}

.dl_table dt {
    flex-basis: 100%;
    padding:15px 0 5px;
}

.dl_table dd {
    flex-basis: 100%;
    padding:5px 0 15px;
    border-bottom:1px solid #ddd;
}

.table01 {
    font-size: 0.9rem;
}

.box01 {
    padding:15px;
}

.img_right {
    margin:0 0 10px 20px;
}

.row_gallery {
    flex-wrap: wrap !important;
}

.row_gallery .col_img {
    flex-basis: 48%;
}

.row_gallery .col_img img {
    width:auto;
    height:90%;
    object-fit: cover;
}

}


@media screen and (max-width: 480px) {

/* 固定ページ共通 */

.page .entry h1 {
    font-size: 1.6rem;
    text-align: center;
    margin-bottom: 1.5em;
}

.page .entry h2,
.page .entry .narrow h2 {
    font-size: 1.4rem;
    margin-bottom: 30px;
}

.page .entry h3,
.page .entry .narrow h3 {
    font-size:1.2rem;
    line-height: 1.4;
    padding:0 0 0 40px;
    margin-bottom: 20px;
}

.page .entry > h4,
.page .entry > .narrow h4{
    display: inline-block;
    position: relative;
    font-size:1.1rem;
    line-height: 1.4;
    margin-bottom: 10px;
    padding:4px;
    border-bottom:2px solid #ddd;
}

.page .entry > h5,
.page .entry > .narrow h5 {
    display: block;
    position: relative;
    font-size:1rem;
    line-height: 1.4;
    margin-bottom: 5px;
}


/* 共通 */

.table00,
.table00 tr,
.table00 th,
.table00 td {
    display: block;
}

.table00 th {
    padding: 10px 0 5px;
}

.table00 td {
    padding: 5px 0 10px;
}

.row2-1,
.row3-1 {
    flex-wrap: wrap;
}

.row2-1 > div,
.row3-1 > div {
    flex-basis: 100%;
}

.row_rev {
    flex-direction: row;
}

}
