/*
Theme Name: original_theme
Author: lucKs
Author URI: 
Version: 1.0
*/

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    backface-visibility: hidden;
}
html{ margin: 0; padding: 0; scroll-padding-top: 100px;}
body {
    margin: 0;
    padding: 0;
    font-family: "Noto Sans JP", "Hiragino Sans","Meiryo", sans-serif;
    font-size: 16px;
	font-weight:400;
    color:#222;
    line-height:175%;
    word-break: break-all;
    overflow-x: hidden;
}
div, p, ul, ul li, dl, dt, dd {
	margin: 0;
	padding: 0;
	font-size: 100%;
	list-style:none;
	box-sizing:border-box;
}
img, video, object {
    max-width: 100%;
    height: auto;
    border: none;
}
img{
	display: block;
	image-rendering: smoothe !important;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-size: 100%;
	line-height: 1.5;
}

a:link {color:blue; text-decoration: none; }
a:visited { color:blue;}
a[href^="tel:"] { text-decoration:none; pointer-events:none ; text-emphasis: none !important;}
a[href^="fax:"] { text-decoration:none; pointer-events:none ;}

.pc {display: inherit;}
.pctb {display: inherit;}
.tb {display: none;}
.tbsp {display: none;}
.sp {display: none;}

@media only screen and (min-width:768px){
    a:hover {color:red; text-decoration: underline; transition:0.3s; }
    a:hover img { opacity: 0.7; filter: alpha(opacity=70); -moz-opacity: 0.7;}
}
@media only screen and (max-width:768px){
    .pc {display:none;}
    .pctb {display:block;}
    .tb {display:block;}
    .tbsp {display: none;}
    .sp {display:none;}
}
@media only screen and (max-width:468px){
    .pc {display:none;}
    .pctb {display:none;}
    .tb {display:none;}
    .tbsp {display: block;}
    .sp {display:block;}
}


/* =========================================================================================
Layout
=========================================================================================*/
#wrapper{
    position:relative;
    margin:0;
    padding:0;
}
#container{
    margin:0;
}
article {
    background: #FFF;
}
section {
}
.inner {
    margin: 0 auto;
    padding: 150px 0;
    width: 90%;
    max-width: 1000px;
    position:relative;
    box-sizing:border-box;
}
@media only screen and (max-width:768px){
    #container{}
    .inner { padding: 80px 0;}
}
@media only screen and (max-width:468px){
    .inner { padding: 60px 0;}
}


/*=========================================================================================
Header
=========================================================================================*/
#header { position: static; top: 0; left: 0; background: rgba(255,255,255,0.70);}
#header .inner {
    display: flex; flex-wrap: wrap; justify-content:space-between; gap: 5px 20px;
    margin: auto; padding: 45px 0;
    width: 95%; max-width: 1200px;
}

/* Logo */
#header h1,
#header h1 a { display: block; width: 100%; max-width: 300px;}
#header h1 a {
    text-indent: -9999px;
    width:100%; height: auto; aspect-ratio: 345 / 54;
    background: url("images/logo.svg") no-repeat center center;
    background-size: 100% auto;
}

/* Navigation */
#nav { margin: auto 0;}
#nav ul {display: flex; align-items: center; justify-content: flex-end;}
#nav ul li { position: relative;}
#nav ul li + li { border-left: 1px solid #ddd;}
#nav ul li a { display: block; text-decoration: none; color: #000;}
#nav ul li p a {
    position: relative;
    display: block;
    padding: 0 20px;
    font-size:112.5%;
    text-align: center;
    text-decoration: none;
    line-height: 130%;
    box-sizing: border-box;
}
#nav ul li p a span { min-width: inherit;}
#nav ul li.tel { border: none;}
#nav ul li.tel a { display: flex; flex-direction: column; gap:5px; line-height: 120%; text-align: center;}
#nav ul li.tel b {
    font-family: "Roboto", sans-serif;
    font-size: 27px;
    font-weight:400;
    text-align: center;
}
#nav ul li.tel small { font-size: 87.5%; letter-spacing: 2px;}
#nav ul li.sns { display: none;}
@media only screen and (min-width:768px){
    #header h1 a:hover { opacity: 0.7 !important;}
    #nav ul li:hover p a { color:#003694 !important;}
}
@media only screen and (max-width:768px){
	#header { position:sticky; top:0; left:0; z-index:999; background:#fff;}
    #header .inner { display: block; padding:0; width: 100%;}
    #header h1,
    #header h1 a { width:200px; height: 70px;}
    #header h1 { position: relative; left: 15px;}
    .nav_btn {
        display: block !important;
        cursor: pointer;
        position:fixed; top:0; right:0;
        width: 70px; height:70px;
        box-sizing: border-box;
        z-index: 999999999;
    }
    .nav_btn span {
        display: inline-block;
        position: absolute; left:0; right: 0; margin:auto;
        width:34px; height:3px;
        background:#003694;
        transition: all .3s;
        border-radius: 4px;
    }
    .nav_btn span:nth-of-type(1) { top:23px;}
    .nav_btn span:nth-of-type(2) { top:33px;}
    .nav_btn span:nth-of-type(3) { top:43px;}
    .nav_btn small { position: absolute; bottom:0; width: 100%; font-size: 10px; text-align: center;}
    .nav_btn.active span:nth-of-type(1) { top:33px; transform:rotate(-45deg);}
    .nav_btn.active span:nth-of-type(2) { opacity: 0;}
    .nav_btn.active span:nth-of-type(3) { top:33px; transform:rotate(45deg);}
    #header #nav {
        display:none;
        position: fixed;  top:70px; right: 0; z-index: 999;
        width: 100%; height: calc(100vh - 70px);
        overflow: auto;
        background:#E7F7FD;
    }
    #nav ul { flex-direction: column;  gap:0; padding: 5% 5% 70px;}
    #nav ul li + li { border-left: none;}
    #nav ul li { position: relative; margin: auto; width:90%; border-bottom: 1px solid rgba(0,54,148,0.20)}
    #nav ul li a { display: block; text-decoration: none;}
    #nav ul li p a {
        padding:20px;
        font-size: 100%;
        text-align: left;
        color: #003694;
    }
    #nav ul li p a::before { display: none;}
    #nav ul li.tel,
    #nav ul li.sns { margin-top: 30px; border: none; }
    #nav ul li.sns { display: flex; flex-wrap: wrap; justify-content: center; gap:15px;}
    #nav ul li.sns p a { padding: 0;}
}



/* =========================================================================================
Footer
=========================================================================================*/
#footer { border-top:5px solid #027ACC;}
#footer .inner {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap:30px;
    margin: auto; padding:50px 0;
    width: 96%; max-width: 1200px;
}
#footer .logo {
    text-indent: -9999px;
    width:100%; height: auto; max-width: 300px; aspect-ratio: 345 / 54;
    background: url("images/logo.svg") no-repeat;
    background-size: 100% auto;
}
#footer .add p {
    display: flex; flex-wrap: wrap; gap:10px;
}
#footer .sns {
    display: flex; flex-wrap: wrap; gap:15px;
}
#footer .copy {
}
@media only screen and (max-width:768px){
    #footer .inner { flex-direction: column; justify-content: center;}
}
@media only screen and (max-width:468px){
    #footer .logo { width: 80%;}
    #footer .add { font-size: 87.5%; line-height: 150%;}
    #footer .copy { font-size: 75%;}
}



/*=========================================================================================
Page Top
=========================================================================================*/
#page-top {
    position: fixed; right: 20px; bottom: 120px;
    z-index: 999;
}
#page-top,
#page-top a { width:60px; height: auto; aspect-ratio: 1 / 1; border-radius: 100px;}
#page-top a {
    display: block;
    text-indent: -9999px;
    background:#003694 url("images/common/pagetop.svg") no-repeat center center;
    background-size: 100% auto;
}
@media only screen and (min-width:768px){
    #page-top a:hover{opacity: 0.7;}
}
@media only screen and (max-width:468px){
    #page-top { right: 10px; bottom: 10px; }
    #page-top,
    #page-top a { width: 50px;}
}


/* =========================================================================================
Post list
=========================================================================================*/
.post-list{
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 30px 0;
}
.post-list ul{
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.post-list ul li{
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    gap: 10px 20px;
}
.post-list ul li .thumbnail{
    position: relative;
    border: 1px solid #000;
}
.post-list ul li .thumbnail img{
    object-fit: cover;
    aspect-ratio: 3 / 2;
    width: 100%;
}
.post-list ul li .thumbnail .new{
    position: absolute;
    top: 10px;
    left: 10px;
    color: #FFF;
    font-size: small;
    background: #000;
    padding: 2px 10px 0;
}
.post-list .title{
    font-size: 1.25em;
    font-weight:700;
}
.post-list .title a{
    color: #000;
}
.post-list .title a:hover{
    text-decoration: none;
    opacity: 0.7;
}
.post-list ul li .date{
    width:100px;
}
.post-list ul li .cat{
    font-size: 0.9em;
    width:100px;
    height: auto;
    text-align: center;
    padding: 2px 5px 0;
    border: 1px solid #000;
}
.post-list ul li .tag{
    padding: 10px 0;
    display: flex;
    align-items: start;
    justify-content: left;
    flex-wrap: wrap;
    gap:10px;
}
.post-list ul li .tag .icon{
    font-size: 0.9em;
    height: auto;
    text-align: center;
    display: inline-block;
    padding: 0.25em 1.0em 0.2em;
    border: 1px solid #CCC;
    background: #CCC;
}

/* card */
.post-list.card ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    align-items: stretch;
    flex-direction: row;
    gap: 30px;
}
.post-list.card li{
    padding: 1.0em;
    width: calc( ( 100% - 60px ) / 3 );
    border: 1px solid #000;
    flex-direction: column;
    gap: 20px;
}

@media only screen and (max-width:768px){
    .post-list ul li .cat{ width:fit-content;}
    .post-list ul li .title{ width: 100% }
    /* card */
    .post-list.card li{ width: calc( ( 100% - 30px ) / 2 ); }
}
@media only screen and (max-width:468px){
    /* card */
    .post-list.card li{ width: 100%; }
}


/* =========================================================================================
Archive-Page
=========================================================================================*/
.archive .post-list{
    border-top:none;
    border-bottom:none;
    padding:0;
}

/*pagination*/
.pagination { display: block; margin:0 auto 0;}
.pagination .page-numbers { display: flex; justify-content: center; align-items: center; gap:10px; }
.pagination .page-numbers li { margin: 0; }
.pagination .page-numbers li:first-child{ flex-grow: 2; }
.pagination .page-numbers li:first-child span{float: right; }
.pagination .page-numbers li:first-child a{float: none; }
.pagination .page-numbers li:last-child{ flex-grow: 2; }
.pagination .page-numbers li:last-child a{float: right; }
.pagination .page-numbers li a,
.pagination .page-numbers li span,
.pagination .page-numbers li .current {
    display: flex;  justify-content: center; align-items: center;
    width: 50px; height: 50px; line-height: 50px; border-radius: 50px;
    color: #000;
    background: #ccc;
}
.pagination .page-numbers li .current { color: #fff; background: #000;}
.pagination .page-numbers li .first,
.pagination .page-numbers li .prev,
.pagination .page-numbers li .next,
.pagination .page-numbers li .last {
    text-indent: -9999px;
    background-color:#fff;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 15px auto !important;
}
.pagination .page-numbers li .first { background-image:url(images/common/icon_first.svg);}
.pagination .page-numbers li .prev { background-image:url(images/common/icon_prev.svg);}
.pagination .page-numbers li .next { background-image:url(images/common/icon_next.svg);}
.pagination .page-numbers li .last { background-image:url(images/common/icon_last.svg);}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
    .pagination .page-numbers li .first,
    .pagination .page-numbers li .last { display: none;}

}


/* =========================================================================================
Single-Page
=========================================================================================*/
.single .single-navi { display: flex; flex-wrap: wrap; justify-content: center; gap:20px 0; padding-top:0;}
.single .single-navi a { color: #000; box-sizing: border-box;}
.single .single-navi a:hover { text-decoration: none;}
.single .single-navi .list-nav a {
    display: block;
    padding: 5px 20px;
    color: #000;
    text-align: center;
    border: 1px solid #000;
}
.single .single-navi .prev-navi a,
.single .single-navi .next-navi a {
    display: block;
    padding: 5px 30px;
    color: #000;
    width: auto;
    box-sizing: border-box;
    background-repeat: no-repeat;
    background-size: 15px;
}
.single .single-navi .prev-navi a {
    text-align: left;
    background-image: url(images/common/icon_prev.svg);
    background-position: left;
}
.single .single-navi .next-navi a {
    text-align: right;
    background-image: url(images/common/icon_next.svg);
    background-position: right;
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
	.single .single-navi { padding-top:50px;}
    .single .single-navi a { font-size: 87.5%;}
    .single .single-navi div:nth-child(2) {display: none;}
    .single .single-navi .list-nav { width: 100%;}
    .single .single-navi .prev-navi,
    .single .single-navi .next-navi { width: 50%;}
    .single .single-navi .list-nav a,
    .single .single-navi .prev-navi a,
    .single .single-navi .next-navi a { padding: 5px 30px;}
}


/* =========================================================================================
 Header Title ( Single / Archive / Page )
=========================================================================================*/
.entry-header {
    padding: 70px 0;
    font-family: "Noto Serif JP", "Hiragino Serif","Meiryo", sans-serif;
    text-align: center;
    background: url("images/tit_bg.png") no-repeat;
    background-size: cover;
}
.entry-header h1 small,
.entry-header h1 b { display: block;}
.entry-header h1 b { font-size:312.5%; color:#003694; font-weight: 500; letter-spacing: 5px;}
.entry-header h1 small { font-size: 150%; font-weight: 400; letter-spacing: 3px;}
@media only screen and (max-width:768px){
    .entry-header { padding: 40px 0;}
    .entry-header h1 b { font-size: 250%;}
    .entry-header h1 small { font-size: 125%;}
}
@media only screen and (max-width:468px){
    .entry-header { padding: 20px 0;}
    .entry-header h1 b { font-size: 187.5%;}
    .entry-header h1 small { font-size: 100%;}
}


/* =========================================================================================
Breadcrumbs ( Single / Archive / Page )
=========================================================================================*/
.breadcrumbs {
    display: flex;
    margin: auto;
    padding: 10px 0;
    width: 90%; max-width: 1000px;
    font-size: 75%;
}
.breadcrumbs li + li::before { content:"-"; padding: 0 10px;}
.breadcrumbs li a { color: #000;}


/* =========================================================================================
  Editer
=========================================================================================*/
.sb_content {
    display: flex; flex-direction: column; gap:40px;
}

/*Hr*/
.wp-block-separator{
    height: 1px;
    border: none;
    background-color: #ddd;
    margin: 5vh 0;
}
.wp-block-separator.is-style-dots:before{
    font-size: 3.0em;
    letter-spacing: 1.0em;
    padding-left: 1.0em;
}

/*Midashi*/
h1.wp-block-heading {
    padding-bottom: 20px;
    font-size:200% !important;
	font-weight:700;
    color: #60C8A1;
    border-bottom: 3px solid #60C8A1;
}
h2.wp-block-heading {
    padding-bottom: 20px;
    font-size:200% !important;
	font-weight:700;
	color: #60C8A1;
    border-bottom: 3px solid #60C8A1;
}
h3.wp-block-heading {
    padding-left: 20px;
    font-size:125% !important;
	font-weight:700;
    color: #60C8A1;
    border-left: 7px solid #60C8A1;
}
h4.wp-block-heading {
    font-size: 125% !important;
	font-weight:700;
    color: #60C8A1;
}
h5.wp-block-heading { font-size: 112.5% !important; font-weight:700;}
h6.wp-block-heading { font-size: 100% !important; font-weight:700;}
@media only screen and (max-width:468px){
	h2.wp-block-heading { font-size:125% !important;}
	h3.wp-block-heading { font-size:112.5% !important; padding-left: 10px; line-height: 100%; }
	h4.wp-block-heading { font-size:112.5% !important;}
}


/* Button */
.btn { display: flex; flex-wrap: wrap; gap:20px;}
.btn.col1 p { margin: auto; width: 100%; max-width: 400px;}
.btn.col2 p { width: calc(50% - 10px);}
.btn.col3 p { width: calc(33.3% - 13.3px);}
.btn p a {
    cursor: pointer;
    display: block;
	padding:25px;
	width:100%;
	font-size:140%;
	font-weight:600;
    letter-spacing: 2px;
	color:#FFF;
    text-align: center;
    background:#003694 url("images/common/arrow.svg") no-repeat 97% center;
    background-size: 50px auto;
    box-shadow: 0 3px 6px 0 rgba(2,122,204,0.16);
	border:none;
    border-radius: 100px;
}
@media only screen and (min-width:768px){
    .btn p a:hover { text-decoration: none; opacity: 0.7;}
}
@media only screen and (max-width:468px){
	h2.wp-block-heading { font-size:125% !important;}
	h3.wp-block-heading { font-size:112.5% !important; padding-left: 10px; line-height: 100%; }
	h4.wp-block-heading { font-size:112.5% !important;}
}




/*blockquote*/
blockquote{
    position:relative;
    padding: 20px;
    background:#f5f5f5;
}
blockquote cite {
    display: block;
    font-size: 0.8rem;
    text-align: right;
    color: #808080;
    padding-right:20px;
}
@media only screen and (min-width:768px){
}
@media only screen and (max-width:768px){
    /*Midashi*/
    h1.wp-block-heading { font-size: 162.5% !important;}
    h2.wp-block-heading { font-size: 162.5% !important; }
    h3.wp-block-heading { font-size: 150% !important; }
    h4.wp-block-heading { font-size: 137% !important; }
    h5.wp-block-heading { font-size: 112.5% !important; }
    h6.wp-block-heading { font-size: 100% !important; }
}
@media only screen and (max-width:468px){
}


/* =========================================================================================
Original_item
=========================================================================================*/

h2.sbtit {
    font-family: "Noto Serif JP", "Hiragino Serif","Meiryo", sans-serif;
    text-align: center;
}
h2.sbtit b,
h2.sbtit small { display: block;}
h2.sbtit b { font-size:312.5%; color:#027ACC; font-weight: 500; letter-spacing: 5px;}
h2.sbtit small {font-size: 150%; font-weight: 400; letter-spacing: 3px;}
@media only screen and (max-width:768px){
    h2.sbtit { padding: 40px 0;}
    h2.sbtit b { font-size: 250%;}
    h2.sbtit small { font-size: 125%;}
}
@media only screen and (max-width:468px){
    h2.sbtit { padding: 20px 0;}
    h2.sbtit b { font-size: 187.5%;}
    h2.sbtit small { font-size: 100%;}
}



/* Indention */
.indention {
	clear:both;
	margin: 0 2%;
	height:40px;
	text-indent: -9999px;
}


/* Align */
.center { text-align: center;}
.left { text-align: left;}
.right { text-align: right;}
@media only screen and (max-width:468px){
    .center_sp { text-align: center !important;}
    .left_sp { text-align: left!important;}
    .right_sp { text-align: right!important;}
}


/* Catch */
.catch {
    font-family: "Noto Serif JP", serif;
    font-size:225%;
    font-weight:400;
	color: #000;
	line-height: 150%;
    text-align: center;
}
@media only screen and (max-width:468px){
    .catch { font-size:137.5%;}
}


/* Comment */
.come,
.comment {
	font-family: "Noto Sans JP", sans-serif;
	font-weight:400;
}
.comment.center { text-align: center;}
.come_sine { text-align: right; font-size: 95%; line-height:180%;}
.come_gray { padding:3%; background: #f6f6f6;}


/* Notes */
.notes { position: relative; padding-left: 20px; line-height: 150%;}
.notes::before { position: absolute; top:0; left: 0; content:"※";}


/* Link txt */
.link_txt { display: flex; justify-content: center; gap:20px;}
.link_txt p a {
    display: block;
    padding: 10px 30px 10px 10px;
	color: #222;
    text-align: center;
    border-bottom: 1px solid #000;
    background: url("images/common/arrow_b.png") no-repeat right center;
    background-size: 20px auto;
}
@media only screen and (min-width:768px){
    .link_txt p a:hover { color: #82263C; border-color: #82263C; text-decoration: none;}
}


/* Temp box */
.temp_box1 { display: flex; flex-wrap:wrap; gap:40px;}
.temp_box1 .photo { display: flex; flex-direction: column; gap:10px; width: 46%; text-align: center;}
.temp_box1 .photo img { width: 100%; height: auto;}
.temp_box1 .photo .caption {
	font-family: "Noto Sans JP", sans-serif;
	font-weight:400;
}
.temp_box1 .cont { 
    display: flex; flex-direction: column; gap:40px;
    width: calc(100% - 46% - 40px);
}
.temp_box1 .cont.full-width { width: 100%;}
.temp_box1.row-re { flex-direction: row-reverse;}
@media only screen and (max-width:768px){
    .temp_box1 { flex-direction: column;}
    .temp_box1 .photo,
    .temp_box1 .cont { width: 100%;}
}


/* Temp box */
.temp_box2 { overflow: hidden;}
.temp_box2 .photo.pic_r { float: right; width: 46%; margin-left: 40px; margin-bottom: 20px;}
.temp_box2 .photo.pic_l { float: left; width: 46%; margin-right: 40px; margin-bottom: 20px;}
.temp_box2 .photo img { width: 100%; height: auto;}
@media only screen and (max-width:468px){
    .temp_box2 { display: flex; flex-direction: column-reverse; gap:40px;}
    .temp_box2 .photo,
    .temp_box2 .come { float: none; width: 100% !important; margin: 0 !important;}
}


/* Gallery*/
.gallery { display: flex; flex-wrap: wrap; gap:20px;}
.gallery.col2 p { width : calc(100% / 2 - 10px) ; }
.gallery.col3 p { width : calc(100% / 3 - 13.33px) ; }
.gallery.col4 p { width : calc(100% / 4 - 15px) ; }
.gallery.col5 p { width : calc(100% / 5 - 16px) ; }
.gallery p.col2 { width : calc(100% / 2 - 10px) ; }
.gallery p.col3 { width : calc(100% / 3 - 13.33px) ; }
.gallery p.col4 { width : calc(100% / 4 - 15px) ; }
.gallery p.col5 { width : calc(100% / 5 - 16px) ; }
.gallery p img {
    width : 100%; height: auto;
	aspect-ratio: 6 / 4; 
	object-fit: cover;
}
.gallery .caption {
	display: block; font-size: 87.5%; text-align:center;
	font-family: "Noto Sans JP", sans-serif; font-weight:400; color: #555;
}
@media only screen and (max-width:468px){
    .gallery p,
    .gallery.col2 p,
    .gallery.col3 p,
    .gallery.col4 p,
	.gallery.col5 p{ width : calc(100% / 2 - 10px) !important; }
}


/* About */
.message .comment { margin: auto; max-width: 700px;}
.mission {
    background: url("images/mission_bg.jpg") no-repeat center center;
    background-size: cover;
}
.mission .comment { margin: auto; max-width: 700px;}
.officer_list {
    margin: auto; width: 100%; max-width: 700px;
    display: flex; flex-wrap: wrap; gap:50px;
}
.officer_list .cont { width: calc(50% - 25px); border-top: 1px solid #ddd;}
.officer_list dl {
    display: flex; flex-wrap: wrap;
    padding: 20px;
    border-bottom: 1px solid #ddd;
}
.officer_list dl dt {
    width: 100px;
    font-size: 87.5%;
}
.officer_list dl dd { 
    width: calc(100% - 100px);
    font-family: "Noto serif JP", sans-serif;
}
.map iframe { width: 100%; height: 400px;}
@media only screen and (max-width:468px){
    .officer_list { flex-direction: column; gap:0;}
    .officer_list .cont { width:100%; border-top: 1px solid #ddd;}
    .officer_list .cont + .cont { border-top:none;}
    .officer_list dl { padding: 10px;}
}




/* Flow list */
.flow_list {
    display: flex; flex-wrap: wrap; justify-content: center; gap:60px 15px;
    padding-top:30px;
}
.flow_list dl {
    position: relative;
    padding: 40px 25px;
    width: calc(33.3% - 10px);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.05);
}
.flow_list dl dt { text-align: center;}
.flow_list dl dt img { margin: auto; width: 80%; max-width: 185px;}
.flow_list dl dt span {
    display: block;
    padding: 40px 0 10px;
    font-size: 125%;
    color: #027ACC;
}
.flow_list dl::before {
    position: absolute; top:0; left:0;
    display: block; clear: both; content:"";
    padding-top: 15px;
    padding-left: 10px;
    width: 80px; height: auto; aspect-ratio: 1 / 1;
    font-family: "Noto serif JP", sans-serif;
    font-size: 46px;
    font-weight:600;
    color: #fff;
    background: #000;
    box-sizing: border-box;
    border-bottom-right-radius: 70px;
}
.flow_list dl:nth-child(odd)::before { background: #2CCEAD;}
.flow_list dl:nth-child(even)::before { background: #40D4DF;}
.flow_list dl:nth-child(1)::before { content:"01";}
.flow_list dl:nth-child(2)::before { content:"02";}
.flow_list dl:nth-child(3)::before { content:"03";}
.flow_list dl:nth-child(4)::before { content:"04";}
.flow_list dl:nth-child(5)::before { content:"05";}
@media only screen and (max-width:468px){
    .flow_list {
        flex-direction: column; gap:20px 15px;
        padding-top:20px;
    }
    .flow_list dl {
        padding: 40px 25px;
        width:100%;
    }
}



/* News list */
.news_list { display: flex; flex-direction: column; gap:5px;}
.news_list ul {
    display: flex; align-items: flex-start; gap:0 20px;
    padding: 20px 0;
    border-bottom: 1px solid #ddd;
}
.news_list ul li.data { width: 90px;}
.news_list ul li.cate { width:100px; font-size: 75%; text-align: center; color: #fff; background:#027ACC;}
.news_list ul li.come { width: calc(100% - 90px - 100px - 40px);}
.news_list ul li.come a { color: #222;}
@media only screen and (max-width:468px){
    .news_list ul { flex-wrap: wrap;}
    .news_list ul li.come { width:100%; padding-top: 10px;}
}



/* =========================================================================================
Page(404)
=========================================================================================*/
.error404 .entry-header{
    text-align: center;
    padding:40px 20px;
    margin: 0 ;
}

.error404 .error-message{
    padding: 20px;
    margin-bottom: 30px;
    text-align: center;
}
.error404 .error-message p img{
    margin: 0 auto 80px;
    max-width: 250px;
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
}



/* =========================================================================================
Page(ALL)
=========================================================================================*/
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
}



/* =========================================================================================
Page(×××××××)
=========================================================================================*/
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
}



/* =========================================================================================
Page(contact)
=========================================================================================*/
#formcont { padding: 30px 30px 80px; background:rgba(64,168,223,0.20);}
#formcont dl {
    display: flex; flex-wrap: wrap;
    margin:0 auto; width:96%; max-width: 870px;
    border-bottom: 1px solid rgba(0,0,0,0.20);
}
#formcont dt,
#formcont dd { position: relative; padding:20px 0;}
#formcont dt { width:25%;}
#formcont dd { width:75%;}
#formcont dt span {
    position: absolute; top: 25px; right: 20px;
	padding:5px 7px;
	color:#FFF;
	font-size:80%;
	line-height:100%;
	background:#af0000;
	border-radius:3px;
}
#formcont dd p+p { margin-top:10px;}
#formcont dd p span { margin-right:25px;}
#formcont dd.column { display: flex; flex-wrap: wrap; gap:20px;}
#formcont dd.column.col2 .set { width: calc(50% - 10px);}
#formcont dd.column.col1 { display: block; gap:10px;}
#formcont dd.column.col1 textarea { margin-top: 20px;}
#formcont .come { padding:40px 0; text-align:center;}

/* INPUT TEXTAREA SELECT */
#formcont label { margin-right:25px;}
#formcont input[type="text"],
#formcont input[type="date"],
#formcont input[type="email"],
#formcont input[type="tel"],
#formcont textarea {
    width: 100%;
	padding:10px;
	background:#fff;
    border: none;
	box-sizing:border-box;
	border-radius:5px;
    box-shadow: 0 0 0 3px rgba(2,122,204,0.05);
}
#formcont textarea { width:100%; height:120px;}
#formcont select { padding:10px; border:1px solid #EEE; background:#FAFAFA;}
#formcont input[type="file"] { display:block; padding:5px; background:#F6F6F6;}
#formcont .w250 { max-width: 250px;}
#formcont .w300 { max-width: 300px;}

/* BUTTON */
#formcont .b_inqu { display: flex; justify-content: center; gap:20px; margin: auto; width:80%;}
#formcont .b_inqu input[type="submit"],
#formcont .b_inqu input[type="reset"],
#formcont .b_inqu input[type="button"]{
    cursor: pointer;
	font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	margin:0 auto;
	padding:15px;
	width:100%;
    min-width: 150px;
    max-width: 400px;
	font-size:140%;
	font-weight:600;
    letter-spacing: 2px;
	border:none;
    border-radius: 30px;
	color:#FFF;
    background:#003694 url("images/common/arrow.svg") no-repeat right center;
    background-size: 50px auto;
    box-shadow: 0 0 0 3px rgba(2,122,204,0.05);
}
#formcont .b_inqu input[type="reset"] { background-color:#555;}
#formcont .b_inqu input[type="button"] { backgroun-colord:#555;}

/* HOVER */
#formcont input[type="text"]:focus,
#formcont textarea:focus { background:#FFEFEF; transition:.3s;}
#formcont .b_inqu input[type="submit"]:hover,
#formcont .b_inqu input[type="reset"]:hover,
#formcont .b_inqu input[type="button"]:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
}
@media only screen and (max-width:700px){
    #formcont { padding: 20px 20px 40px;}
    #formcont dl { padding: 20px 0; flex-direction: column;}
    #formcont dt,
    #formcont dd { position: relative; padding:0;}
    #formcont dt { width:100%; padding-bottom: 15px; font-weight:700;}
    #formcont dd { width:100%;}
    #formcont dt span { top:2px; right: 0;}
    #formcont dd p+p { margin-top:10px;}
    #formcont dd p span { margin-right:25px;}
    #formcont dd.column { flex-direction: column; gap:20px;}
    #formcont dd.column.col2 .set { width: 100%;}
    #formcont dd.column.col1 { display: block; gap:10px;}
    #formcont dd.column.col1 textarea { margin-top: 20px;}
    #formcont label { display: block; margin-right:0;}
    #formcont .b_inqu { flex-direction: column; gap:10px;}
    #formcont .b_inqu input[type="submit"],
    #formcont .b_inqu input[type="reset"],
    #formcont .b_inqu input[type="button"]{ width: 100%;}
}