html {
    font-size: 62.5%;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	-ms-text-size-adjust:100%;
	-webkit-text-size-adjust:100%
}

body {
    font-size: 1.8rem;
    margin: 0;
    padding: 0;
}

#page_top {
    width: 50px;
    height: 50px;
    position: fixed;
    bottom: 100px;
    background: #000;
    border-radius: 50%;
    /* z-index: 9999; */
    z-index: 1000;
    line-height: 1;
    right: -50px;
}

#page_top a {
    position: relative;
    display: block;
    text-decoration: none;
    padding: 15px 10px;
    color: #FFF;
}

#page_top a:hover {
    opacity: 0.8;
}

.blog_nav,
.wp-pagenavi {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
}

.blog_nav .pages,
.wp-pagenavi .pages {
    display: none;
}


/* .wp-pagenavi a:hover,
.wp-pagenavi span.current {
    border-color: none !important;
} */

.blog_nav a, .blog_nav span
.wp-pagenavi a, .wp-pagenavi span {
    border: none !important;
    font-weight: bold;
}

.blog_nav .page-numbers.dots {
    border: none !important;
}

.blog_nav a, .blog_nav span,
.wp-pagenavi a, .wp-pagenavi span {
    margin-left: 9px !important;
    margin-right: 9px !important;
    color: #1c66d6;
}

.wp-pagenavi span.current {
    border-radius: 3px;
    color: #1c66d6;
    border: 1px solid #1c66d6 !important;
    background: #FFF;
    padding: 1px 13px 4px 12px;
    margin-top: 6px;
}

.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
    border-radius: 5px;
    color: #1c66d6;
    padding: 9px;
    opacity: 0.8;
}

.wp-pagenavi i {
    font-size: 24px;
    margin-top: 8px;
}

.single-post .breadcrumbs i:nth-child(4),
.single-post .breadcrumbs span:nth-child(5) {
    display: none;
}

/* 左から右に */
.btn_type01 a {
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    border-radius: 0.5rem;
    overflow: hidden;
    padding: 16px 50px;
    color: #fff;
    border-radius: 0;
    background: #000;
}

.btn_type01 a span {
  position: relative;
}

.btn_type01 a:before {
  position: absolute;
  top: 0;
  left: 21px;
  width: 150%;
  height: 500%;
  content: "";
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
  transform: translateX(-98%) translateY(-25%) rotate(45deg);
  background: #00b7ee;
}

.btn_type01 a:hover:before {
  -webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
  transform: translateX(-9%) translateY(-25%) rotate(45deg);
}

.btn_type01 a i {
    position: relative;
    top: 1px;
}
/* 左から右に */

/* 左から右に2 */

.btn_type02  {
    position: relative;
    text-align: center;
    margin-top: 40px;
}
 
.btn_type02 a {
    width: 260px;
    overflow: hidden;
    background: #000;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #fff;
}
 
  .btn_type02 a span {
    position: relative;
  }
  
  .btn_type02 a:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -webkit-transform: translateX(-96%);
    transform: translateX(-96%);
    background: #2e9ff6;
  }
  
  .btn_type02 a:hover:before {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
/* 左から右に2 ここまで */

/* 線のみボタン*/

.btn_type03 {
    text-align: center;
}

.btn_type03 a {
    border-radius: 0;
    position: relative;
    padding: 15px 40px;
    color: #2e9ff6;
  }
  
  .btn_type03 a:before,
  .btn_type03 a:after {
    position: absolute;
    width: 100%;
    height: 2px;
    content: '';
    -webkit-transition: all .3s;
    transition: all .3s;
    background: #2e9ff6;
  }
  
  .btn_type03 a:before {
    top: 0;
    left: 0;
  }
  
  .btn_type03 a:after {
    right: 0;
    bottom: 0;
  }
  
  .btn_type03 a:hover:before,
  .btn_type03 a:hover:after {
    width: 0;
  }

  .btn_type03 i {
      margin-left: 7px;
  }

/* 線のみ */


/* 線のみのボタン2 */

.line_btn2 a {
    font-size: 19px;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    border-radius: 0.5rem;
    font-weight: normal;
}

.line_btn2 a {
  font-weight: 700;
  line-height: 54px;
  width: 204px;
  height: 54px;
  padding: 0;
  cursor: pointer;
  text-decoration: none;
  background-color: transparent;
}

.line_btn2 a svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.line_btn2 a svg rect {
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
  stroke: #2e9ff6;
  stroke-width: 1;
  stroke-dasharray: 200px, 16px;
  stroke-dashoffset: 70px;
}

.line_btn2 a:hover svg rect {
  stroke-dashoffset: 284px;
}

.line_btn2 a span {
  color: #2e9ff6;
  font-weight: normal;
}

/* 線のみのボタン2 ここまで */
.wrapper {
    overflow: hidden;
}

.font_wB {
    font-weight: bold !important;
}

.accordion {
    width: 100%;
}
  
  .accordion .link {
    cursor: pointer;
    display: block;    
    -webkit-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
    padding: 7px 0;
    color: #FFF;
  }
  
  .accordion .link span {
    position: relative;  
}

  .accordion li:last-child .link {
    border-bottom: 0;
  }
  
  .accordion li i {
    position: absolute;
    top: 16px;
    left: 12px;
    font-size: 18px;
    color: #FFF;
    -webkit-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  
  .accordion li i.fa-chevron-down {
    right: -30px;
    top: 5px;
    left: auto;
    font-size: 16px;
  }
  
  .accordion li.open .link {
    color: #FFF;
  }
  
  .accordion li.open i {
    color: #FFF;
  }
  .accordion li.open i.fa-chevron-down {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  
  .accordion li.default .submenu {display: block;}
  /**
   * Submenu
   -----------------------------*/
   .submenu {
    display: none;
    background: #d87100;
    font-size: 15px;
   }
  
   .submenu li {
    border-bottom: 1px solid #bc6301;
   }
  
   .submenu a {
    display: block;
    text-decoration: none;
    color: #FFF;
    padding: 7px 0;
    /* padding-left: 42px; */
    -webkit-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
   }
  
   .submenu a:hover {
    /* background: #b63b4d; */
    color: #FFF;
   }

.sm_nav,
#hamburger,
.tb_block,
.sp374_block {
	display: none;
}

.w1023_block,
.sp_block {
    display: none !important;
}


/* 画像デフォルト暗い　hoverで明るく  */

.bg_black {
    background: #000;
}

.filter {
	opacity: .6;
	transition: all 700ms 0s ease;
}

.filter:hover {
	opacity: 1;
}


/* 画像デフォルト暗い　hoverで明るく ここまで  */


/* ボーダー流れる */
.slide_boder a {
	position: relative;
	transition: 0.2s;
}

.slide_boder a::after {
	content:"";
	display:block;
	width: 100%;
	height: 2px;
	background-color:#1c66d6;
	position:absolute;
	bottom:-1px;
	left: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
}

.slide_boder a:hover::after {
	transform: scale(1, 1);
}
/* ボーダー流れる */

/* articleは自分で入れる  */
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

a {
    text-decoration: none;
    color: #000;
}

.taC {
	text-align: center !important;
}

.taL {
	text-align: left !important;
}

.taR {
	text-align: right !important;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.clearfix:before {
	content: "";
	display: block;
	clear: both;
}

.clearfix {
	display: block;
}


figure {
	margin:0;
}

.aligncenter {
    display: block;
    margin: 0 auto;
}
.alignright {
	float: right;
	margin-left: 10px;
}

.alignleft {
	float: left;
	margin-right: 10px;
}

.img-rounded {
	border-radius:6px;
}
.img-thumbnail {
	padding:4px;
	line-height:1.42857143;
	background-color:#fff;
	border:1px solid #ddd;
	border-radius:4px;
	-webkit-transition:all .2s ease-in-out;
	-o-transition:all .2s ease-in-out;
	transition:all .2s ease-in-out;
	display:inline-block;
	max-width:100%;
	height:auto
}
.img-circle {
	border-radius:50%;
}
hr {
	margin-top:20px;
	margin-bottom:20px;
	border:0;
	border-top:1px solid #eee;
}

ul {
	list-style: none;
}

li {
    list-style: none;
}

.single .topics_block p {
  margin-bottom: 10px;
}

/* 画像　hoverで拡大 */
.hvr_big_img {
	overflow: hidden;
}

.hvr_big_img img {
	display: block;
    position: relative;
    z-index: 2;
    width: 100%;
    -moz-transition: -moz-transform 0.2s linear;
    -webkit-transition: -webkit-transform 0.2s linear;
    -o-transition: -o-transform 0.2s linear;
    -ms-transition: -ms-transform 0.2s linear;
    transition: transform 0.2s linear;
}

.hvr_big_img a:hover img,
article a:hover .hvr_big_img img {
	-webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

/* 画像　hoverで拡大 ここまで */


/* お問い合わせ　ここから　*/

.contact_read {
	text-align: center;
    color: #000;
    font-size: 20px;
    margin-bottom: 20px;
}

.contact_time {
    width: 460px;
    margin: 25px auto 100px;
}

.contact_time p {
    font-size: 20px;
}

.contact_time .contact_biko {
    font-size: 16px;
    margin-top: 10px;
}

/* 
.table-res-form tr:first-child th,
.table-res-form tr:first-child td {
    padding-top: 0 !important;
} */

.top_tel {
	text-align: center;
}

.page_tel span {
	font-size: 40px;
    font-weight: normal;
}

.contact_tel p {
	text-align: center;
	margin: 0;
	line-height: 1.2;
}

.contact_tel p a {
    color: #bfa77a;
}

.contact_tel .page_tel {
	font-size: 30px;
}

.contact_tel .page_tel i {
	margin-right: 10px;
}

.contact_note {
    line-height: 1.8;
    margin-top: 10px;
    padding-bottom: 50px;
}

/*　ContactForm7のテーブル化レスポンシブ調整　*/

/*テーブルを親要素の幅いっぱいに伸ばす*/
/* .form_wrap {
	max-width: 1000px;
	margin-bottom: 20px;
	padding: 0 0 70px;
} */

.form_wrap input,
.form_wrap textarea {
	background: #FFF;
}

.table-res-form {
    width: 100%;
	margin-top: 40px;
    border-collapse: collapse;
}

.table-res-form th.th_required {
	position: relative;
}

/* 
.table-res-form th.th_required:after {
    content: "必須";
    font-weight: normal;
	background: #0066cc;
    color: #FFF;
    padding: 1px 5px 1px;
    position: absolute;
    top: auto;
    left: 0;
    border-radius: 5px;
}
 */

/*thとtd内の余白指定*/
.table-res-form th {
	font-weight: normal;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.table-res-form th, .table-res-form td {
    padding: 1.5em;
}
/*th（項目欄）は30%幅、テキストを右寄せ*/
.table-res-form th {
	width: 26%;
    text-align: left;
	padding-left: 0;
	padding-right: 0;
}
/*「必須」部分のスタイリング*/
.table-res-form .requied {
    color: #FFF;
    display: inline-block;
    padding: 0.3em 0.3em 0.2em;
}

.wpcf7-form-control.wpcf7-submit {
    background: #0066cc;
    display: block;
	border: none;
	color: #FFF;
    border-radius: 15px;
    transition: 0.2s;
    width: 100%;
    padding: 18px 0;
    font-size: 16px;
}

.form_wrap p:last-of-type {
    position: relative;
}

.form_wrap p:last-of-type::after {
    left: 0px;
    width: 15px;
    height: 14px;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: -37%;
    bottom: 0;
    right: -89%;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.wpcf7-form-control.wpcf7-submit:hover {
    background: #ffcc00;
}

.form_wrap p.contact_note {
	margin-bottom: 0px;
}

.form_wrap p.contact_note::after {
	content: none;
}


/*ここから768px以下の指定*/

@media only screen and (max-width: 768px) {
.tb_block {
    display: block;
}

.tb_none {
    display: none;
}

.company_bottom_text,
.company_bottom_img {
	width: 100%;
}

.company_bottom_text h2,
.company_bottom_text dl {
	left: 0;
}
	
.company_three {
	margin-bottom: 70px;
}

.company_bottom_text {
	margin-bottom: 0 !important;
}

.read_consultation.mb100 {
	margin-bottom: 70px !important;
}	
	
	.table-res-form th {
		padding-bottom: 10px;
        margin-bottom: 10px;
	}
	
	.table-res-form td {
		padding-top: 0;
	}
	
	.tab_content_inner {
	    justify-content: space-between;
	}
	
	.tab_content_inner article {
		margin-left: auto;
		margin-right: auto;
	}

.tab_content_inner article:nth-child(3n+1) {
	margin-left: auto;
	margin-right: auto;
}
	
	/*thとtdをブロック化して幅100％にして、縦積み*/
    .table-res-form th, .table-res-form td {
        width: 100%;
        display: block;
    }

    /* th（項目名）欄の不要な余白削除・テキスト左寄せ */
    .table-res-form th {
        padding-bottom: 0;
        text-align: left;
    }

/* 不要な最終行の左のthを非表示にする */
    .table-res-form .empty {
        display: none;
    }
	
    .table-res-form tr:first-child th.th_required:after {
        top: 0;
    }

	.table-res-form th.th_required:after {
		float: none;
		margin-left: 10px;
		position: relative;
		top: 0;
	}
	
	.table-res-form {
		margin-top: 20px;
	}
	
	.table-res-form td {
		padding-left: 0;
		padding-right: 0;
	}
	
	.form_wrap {
		margin-bottom: 20px;
		padding-bottom: 50px;
	}
	
	.form_wrap p:last-of-type::after {
		left: -17px;
	}

    .parent-pageid-60 .page_top_section {
        padding-left: 20px;
        padding-right: 20px;
    }

}

@media only screen and (max-width: 600px) {
    .contact_time {
        width: 100%;
        margin-bottom: 50px;
    }

    .contact_note {
        padding: 0;
    }

    .form_wrap {
        padding-bottom: 0;
    }

    .page_tel span {
        font-size: 33px;
    }

    .sp_title {
        font-size: 22px !important;
    }

    .parent-pageid-60 .page_top_section p.thanks_read {
        text-align: center;
    }

    .parent-pageid-60 .page_top_section p {
        text-align: left;
    }

}

@media only screen and (max-width: 424px) {
    .submit_btn_wrap p,
    .submit_btn_wrap input {
        width: 100% !important;
    }
}

/*ここまで768px以下の指定---終わり*/

/*ここから入力欄のスタイル指定*/

/*各入力フォームスタイリング*/
.table-res-form input[type="text"], input[type="email"], textarea {
    border: 1px #f9f5f5 solid;
    padding: 0.5em;
    border-radius: 5px;
    margin-bottom: 0.5em;
    width: 100%;
}

/*入力欄にフォーカスしたら変化*/
.table-res-form input[type="text"]:focus, textarea:focus {
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
}

/*送信ボタンスタイリング*/
/* 
.table-res-form input[type="submit"] {
    border: 1px #89BDDE solid;
    padding: 0.5em 4em;
    border-radius: 5px;
    background: #4C9ED9;
    color: #fff;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
    font-weight: bold;
}
 */

/*送信ボタン・マウスオーバー時スタイリング*/
/*
.table-res-form input[type="submit"]:hover {
    background: #006599;
    box-shadow: none;
}
*/

.thanks_read {
	color: #0066cc;
	font-size: 30px;
	font-weight: bold;
    margin-top: 80px;
    margin-bottom: 30px;
}

/* お問い合わせ　ここまで　*/

 
/* 2重円 */
 .circle2 {
	font-size: 12px;
	margin-left: 0;
    text-align: center;
}

.circle2 span {
    color: #fff;
    background: #333333;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    /* line-height: 53px; 2行になったらおかしくなる */
}

.circle2 span::after {
	content: "";
    position: absolute;
    left: -6px;
    top: -6px;
    width: 72px;
    height: 72px;
    border-radius: 50%;
}

.circle2 span::after {
	border: 1px solid #333333;
}

/* 2重円ここまで */

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

.flex_start {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

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

.flex_around {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.flex_end {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
}


.posi_relative {
    position: relative;
}

.posi_absolute {
    position: absolute;
}

.dis_block {
	display: block !important;
}

.dis_ibk {
	display: inline-block !important;
}

/* 縦がき */
/* 縦がき　数字とか回転させる */
.row_text {
	text-combine-upright: all;
}
/* 縦がき　数字とか回転させる */

.row_text_default {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}
/* 縦がき　ここまで */

/* 電話向き　ここまで */
.fa-phone {
    transform: scale(-1, 1);
}
/* 電話向き　ここまで */

/* moreボタン */

.more_btn {
	width: 425px;
	font-size: 16px !important;
	text-align: center;
    margin: 0 auto;
}

a.more {
  overflow: hidden;
  padding: 13px 0;
  color: #fff;
  border-radius: 0;
  background: #007ec9;
	display: block;
	position: relative;
	border: 1px solid #007ec9;
    font-weight: bold;
}

a.more span {
  position: relative;
}

a.more:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  background: #FFF;
}

a.more:hover:before {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}

a.more:hover span {
	color: #007ec9;
}

a.more i {
    position: absolute;
    top: calc(50% - .55em);
    right: 1.2em;
    font-size: 18px;
}

a.more:hover i {
	color: #000;
}

/* moreボタン　ここまで */

.shadow {
	/* box-shadow: 5px 10px 20px rgba(0,0,0,0.50); */
    box-shadow: 5px 5px 10px rgb(0 0 0 / 20%)
}

.bottom_shadow {
	box-shadow: 0 32px 30px -30px rgba(53, 47, 47, 0.15);
}

.w_10 {
	width: 10%;
}

.w_20 {
	width: 20%;
}

.w_25 {
	width: 25%;
}

.w_30 {
	width: 30%;
}

.w_40 {
	width: 40%;
}

.w_50 {
	width: 50%;
}

.w_60 {
	width: 60%;
}

.w_70 {
	width: 70%;
}

.w_75 {
	width: 75%;
}

.w_80 {
	width: 80%;
}

.w_85 {
	width: 85%;
}

.w_90 {
	width: 90%;
}

.w_100 {
	width: 100%;
}



.col_1920 {
    max-width: 1920px;
    margin: 0 auto;
}

.col_1775 {
    max-width: 1775px;
    margin: 0 auto;
}

.col_1740 {
    max-width: 1740px;
    margin: 0 auto;
}

.col_1720 {
    max-width: 1720px;
    margin: 0 auto;
}

.col_1650 {
    max-width: 1650px;
    margin: 0 auto;
}


.col_1500 {
    max-width: 1500px;
    margin: 0 auto;
}

.col_1450 {
    max-width: 1450px;
    margin: 0 auto;
}

.col_1400 {
    max-width: 1400px;
    margin: 0 auto;
}

.col_1320 {
    max-width: 1320px;
    margin: 0 auto;
}

.col_1200 {
    max-width: 1200px;
    margin: 0 auto;
}

.col_1140 {
    max-width: 1140px;
    margin: 0 auto;
}

.col_1100 {
    max-width: 1100px;
    margin: 0 auto;
}

.col_1020 {
    max-width: 1020px;
    margin: 0 auto;
}

.col_960 {
    max-width: 960px;
    margin: 0 auto;
}

.col_875 {
    max-width: 875px;
    margin: 0 auto;
}

.col_850 {
    max-width: 850px;
    margin: 0 auto;
}

.col_825 {
    max-width: 825px;
    margin: 0 auto;
}


.col_600 {
    max-width: 600px;
    margin: 0 auto;
}




/* padding left right x軸 */
.px0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.px10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.px20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
/* padding left right x軸 */

/* margin left right x軸 */
.mx0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.mx10 {
    margin-left: 10px !important;
    margin-right: 10px !important;
}

.mx20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
}
/* margin left right x軸 */

/* padding margin top */
.pt0 {
    padding-top: 0px !important;
}

.pt5 {
    padding-top: 5px !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pt15 {
    padding-top: 15px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pt25 {
    padding-top: 25px !important;
}

.pt30 {
    padding-top: 30px !important;
}

.pt35 {
    padding-top: 35px !important;
}

.pt40 {
    padding-top: 40px !important;
}

.pt45 {
    padding-top: 45px !important;
}

.pt50 {
    padding-top: 50px !important;
}

.pt90 {
    padding-top: 90px !important;
}

.pt200 {
    padding-top: 200px !important;
}

.mt5 {
    margin-top: 5px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt15 {
    margin-top: 15px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mt25 {
    margin-top: 25px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt35 {
    margin-top: 35px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mt45 {
    margin-top: 45px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.mt70 {
    margin-top: 70px !important;
}

/* padding margin top ここまで */

/* padding margin bottom */
.pb5 {
    padding-bottom: 5px !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.pb15 {
    padding-bottom: 15px !important;
}

.pb20 {
    padding-bottom: 20px !important;
}

.pb25 {
    padding-bottom: 25px !important;
}

.pb30 {
    padding-bottom: 30px !important;
}

.pb35 {
    padding-bottom: 35px !important;
}

.pb40 {
    padding-bottom: 40px !important;
}

.pb45 {
    padding-bottom: 45px !important;
}

.pb50 {
    padding-bottom: 50px !important;
}

.pb80 {
    padding-bottom: 80px !important;
}

.pb150 {
    padding-bottom: 150px !important;
}

.pb170 {
    padding-bottom: 170px !important;
}

.pb200 {
    padding-bottom: 200px !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb35 {
    margin-bottom: 35px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb45 {
    margin-bottom: 45px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.mb85 {
    margin-bottom: 85px !important;
}

.mb100 {
    margin-bottom: 100px !important;
}

.mb125 {
    margin-bottom: 125px !important;
}

.mb150 {
    margin-bottom: 150px !important;
}

.mb170 {
    margin-bottom: 170px !important;
}

/* padding margin bottom ここまで */

/* margin top bottom y軸 */
.my0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.my10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.my20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

.my30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
}

.my40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
}

.my50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
}
/* margin top bottom y軸 */


/* padding margin left */
.pl5 {
    padding-left: 5px !important;
}

.pl10 {
    padding-left: 10px !important;
}

.pl15 {
    padding-left: 15px !important;
}

.pl20 {
    padding-left: 20px !important;
}

.pl25 {
    padding-left: 25px !important;
}

.pl30 {
    padding-left: 30px !important;
}

.pl35 {
    padding-left: 35px !important;
}

.pl40 {
    padding-left: 40px !important;
}

.pl45 {
    padding-left: 45px !important;
}

.pl50 {
    padding-left: 50px !important;
}

.pl150 {
    padding-left: 150px !important;
}


.ml5 {
    margin-left: 5px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.ml15 {
    margin-left: 15px !important;
}

.ml20 {
    margin-left: 20px !important;
}

.ml25 {
    margin-left: 25px !important;
}

.ml30 {
    margin-left: 30px !important;
}

.ml35 {
    margin-left: 35px !important;
}

.ml40 {
    margin-left: 40px !important;
}

.ml45 {
    margin-left: 45px !important;
}

.ml50 {
    margin-left: 50px !important;
}
/* padding margin left ここまで */

/* padding margin right */
.pr5 {
    padding-right: 5px !important;
}

.pr10 {
    padding-right: 10px !important;
}

.pr15 {
    padding-right: 15px !important;
}

.pr20 {
    padding-right: 20px !important;
}

.pr25 {
    padding-right: 25px !important;
}

.pr30 {
    padding-right: 30px !important;
}

.pr35 {
    padding-right: 35px !important;
}

.pr40 {
    padding-right: 40px !important;
}

.pr45 {
    padding-right: 45px !important;
}

.pr50 {
    padding-right: 50px !important;
}

.mr5 {
    margin-right: 5px !important;
}

.mr10 {
    margin-right: 10px !important;
}

.mr15 {
    margin-right: 15px !important;
}

.mr20 {
    margin-right: 20px !important;
}

.mr25 {
    margin-right: 25px !important;
}

.mr30 {
    margin-right: 30px !important;
}

.mr35 {
    margin-right: 35px !important;
}

.mr40 {
    margin-right: 40px !important;
}

.mr45 {
    margin-right: 45px !important;
}

.mr50 {
    margin-right: 50px !important;
}
/* padding margin right ここまで */

/* 記事　タイプ1 ここから */
.top_topics article {
	margin-bottom: 50px;
}

.top_topics article a .article_wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
    align-items: center;
}

.align_center {
    align-items: center;
}


.article_left {
	width: 17%;
}

.article_right {
	width: 77%;
}

/* 記事　タイプ1 ここまで */

@media screen and (max-width: 1815px) {
    .col_1775 {
        padding-left: 20px;
        padding-right: 20px;
    }
}


@media screen and (max-width: 1780px) {
    .col_1740 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 1760px) {
    .col_1720 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 1700px) {
    .w1700_none {
        display: none;
    }
}

@media screen and (max-width: 1690px) {
    .col_1650 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 1540px) {
    .col_1500 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 1490px) {
    .col_1450 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 1440px) {
    .col_1400 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 1360px) {
    .col_1320 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 1279px) {
    .w1279_none {
        display: none;
    }
}

@media screen and (max-width: 1240px) {
    .col_1200 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 1180px) {
    .col_1140 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 1140px) {
    .col_1100 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 1060px) {
    .col_1020 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 1023px) {
    .w1023_block {
        display: block !important;
    }

    header .head_right {
        display: none !important;
    }

    .w1023_none {
        display: none !important;
    }

}

@media screen and (max-width: 1000px) {
    .col_960 {
        padding-left: 20px;
        padding-right: 20px;
    }
}


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

/* スマホナビ 臨機応変に　900 or 600  */


/* スマホナビ　ここまで  */
}

@media screen and (max-width: 865px) {
    .col_825 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 890px) {
    .col_850 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 915px) {
    .col_875 {
        padding-left: 20px;
        padding-right: 20px;
    }
}


/* @media screen and (max-width: 767px) { */
@media screen and (max-width: 1023px) {
 /* ハンバーガー */

 #hamburger {
    background-color: transparent;
    position: absolute;
    cursor: pointer;
    margin: 0 0 0 auto;
    height: 60px;
    width: 60px;
    display: block;
    top: 11px;
    right: 7px;
}

  .icon span {
    position: absolute;
    left: 15px;
    width: 30px;
    height: 4px;
    background-color: #007ec9;
    border-radius: 8px;
    transition: ease 0.75s;
  }

  .icon span:nth-of-type(1) {
    top: 16px;
  }
  .icon span:nth-of-type(2) {
    top: 28px;
  }
  .icon span:nth-of-type(3) {
    bottom: 16px;
  }

  .close span:nth-of-type(1) {
    transform: rotate(45deg);
    top: 28px;
  }

  .close span:nth-of-type(2) {
    opacity: 0;
  }

  .close span:nth-of-type(3) {
      transform: rotate(-45deg);
      top: 28px;
  }

  .sm_nav {
      top: 80px;
      position: absolute;
      z-index: 10;
      width: 100%;
      background-color: #007ec9;
      left: 0;/* 追記 */
  }

  .sm_nav ul {
    flex-direction: column;
  }

    .sm_nav a {
    text-align: center; 
    padding: 7px 0;
    display: block;
    color: #FFF;
  }

    .sm_nav li {
        text-align: center;
    }

    .sm_nav li a[href^="tel:"] {
        color: #FFF;
    }

    .sm_nav li.gl_nav01 {
        padding-top: 5px;
    }

    .sm_nav li.gl_nav11 {
        padding-bottom: 5px;
    }

    /* ハンバーガー */
}


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

    .sp_block {
        display: block !important;
    }
    
    /* サイト毎に更新 */
    
    article {
        margin-bottom: 30px;
    }
    
    article a .article_wrap {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    
    .article_left {
        width: 40% !important;
    }

    .article_right {
        width: 55% !important;
    }

/* サイト毎に更新　ここまで */

    .col_600 {
        padding-left: 20px;
        padding-right: 20px;
    }

    nav ul ul{
        display: block;
    }
    
    nav ul li{
        position: relative;
    }
    
    nav ul li a{
        display: block;
        text-decoration: none;
        color: #000;
        /* padding:20px 35px; */
        transition:all .3s;
    }
    
    nav ul li li a{
        padding:10px 35px;
    }
    
    
    nav ul li.has-child::before {
        content: '';
        position: absolute;
        right: -15px;
        top: 7px;
        width: 6px;
        height: 6px;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        transform: rotate(135deg);
    }
    
    nav li.has-child ul{
        position: absolute;
        left:0;
        top:28px;
        z-index: 4;
        background: rgba(0,0,0,0.8);
        width:180px;
        visibility: hidden;
        opacity: 0;
        transition: all .3s;
    }
    
    nav li.has-child:hover > ul,
    nav li.has-child ul li:hover > ul,
    nav li.has-child:active > ul,
    nav li.has-child ul li:active > ul{
      visibility: visible;
      opacity: 1;
    }
    
    nav li.has-child ul li a{
        color: #fff;
        border-bottom:solid 1px rgba(255,255,255,0.4);
    }
    
    nav li.has-child ul li:last-child a{
        border-bottom:none;
    }
    
    nav li.has-child ul li a:hover,
    nav li.has-child ul li a:active{
        background:rgba(255,255,255,0.2);
    }
    
    .sp_none {
        display: none !important;
    }


  }


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

    .sp374_block {
        display: block;
    }
    
    .sp374_none {
        display: none;
    }

}


      /* 2カラム */
      .two_colmn_box {
        width: calc((100% - 40px) / 2);
        background: azure;
        margin-bottom: 20px;
      }
      /* 2カラム　ここまで */

      /* 3カラム */
      .three_colmn_box {
        width: calc((100% - 80px) / 3);
        background: azure;
        margin-bottom: 20px;
      }

      .three_colmn::after {
        content: "";
        display: block;
        width: calc((100% - 80px) / 3);
      }
      /* 3カラム ここまで */

      /* 4カラム */
      .four_colmn_box {
        width: calc((100% - 75px) / 4);
        background: azure;
        margin-bottom: 20px;
      }

      .four_colmn::before {
        content: "";
        display: block;
        width: calc((100% - 75px) / 4);
        order: 1;
      }

      .four_colmn::after {
        content: "";
        display: block;
        width: calc((100% - 75px) / 4);
      }
      /* 4カラム ここまで */

      /* 5カラム以上は上記の方法はできない */
      
      @media screen and (max-width:1240px) { 
        .col_1200 {
          padding-left: 20px;
          padding-right: 20px;
        }
      }

      @media screen and (max-width:1023px) { 
        .three_colmn_box,
        .four_colmn_box {
          width: calc((100% - 40px) / 3);
          background: #00F;
        }

        .three_colmn::after {
        content: "";
        display: block;
        width: calc((100% - 40px) / 3);
      }

      .four_colmn::before {
        content: none;
      }

      .four_colmn::after {
        content: "";
        display: block;
        width: calc((100% - 40px) / 3);
      }
    }

    @media screen and (max-width: 600px) {
      .two_colmn_box,
      .three_colmn_box,
      .four_colmn_box {
        width: calc((100% - 20px) / 2);
      }

      .sp_one_colmn {
        width: 100% !important;
      }

      /* アイフォン用　ラジオボタン */
      .safari input[type="radio"] {
        position: relative;
        -webkit-appearance: button;
        appearance: button;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 24px;
        height: 24px;
        content: "";
        background-color: #FFFFFF;
        border: 1px solid #999999;
        -webkit-border-radius: 24px;
        border-radius: 24px;
        -webkit-box-shadow: inset 4px 4px 10px rgba(0,0,0,0.2);
        box-shadow: inset 4px 4px 10px rgba(0,0,0,0.2);
        vertical-align: middle;
        cursor: pointer;
    }
    
    .safari input[type="radio"]:checked:after {
        display: block;
        position: absolute;
        top: 5px;
        left: 5px;
        content: "";
        width: 12px;
        height: 12px;
        background: var(--color_blue);
        -webkit-border-radius: 12px;
        border-radius: 12px;
    }
    
    /* アイフォン用　ラジオボタン */

    }