@charset "utf-8";
/*
Theme Name: koduka_child
Template: koduka
Author: T-labo

*/

/*========================*/

main {
	overflow: hidden;
}

.em {font-size:1.2em;}

/*fade
***************/
/* 画面外にいる状態 */
.fadein {
    opacity : 0;
    transform : translate(0, 150px);
    transition : all 1500ms;
}
 
/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}


/*========================
HEADER
========================*/
header {
	background: #fff;
	padding: 15px 0; 
	background-color: #0e59a5;
	border-bottom: 2px solid #0cbef8; 
}
header h1 {
	color: #ffffff;
	font-size: 12px;
	margin: 0 0 10px 0;
}
header .logo { width: 502px; }

/*layout01*/
header .layout01 .tel {
	width: 375px;
	margin: -30px auto 15px;
}
header .layout01 .mail { width: 395px; }

/*
nav
******************/
nav.main_nav {
	background-color: #0e59a5;
	border-top: 2px solid #0cbef8;
	padding: 1% 0;
	position: relative;
}

nav.main_nav ul {
	width: 100%;
	display: table;
	border-collapse: separate;
}

nav.main_nav ul li {
	color: #000;
	font-size: 14px;
	width: 12%;
	display: table-cell;
	vertical-align: middle;
	box-sizing: border-box;
	font-weight: bold;
	text-align: center;
	border-left: 2px solid #cfcfcf;
	position: relative;
}

nav.main_nav ul li:last-child {
	border-right: 2px solid #cfcfcf;
}
nav.main_nav ul li img { width: auto; margin: auto; }
nav.main_nav ul li a { padding: 1% 0; }
nav.main_nav ul li a.active {
	color:#ccc;
	background:#5A413A;
}


/*========================
SLIDER
========================*/
.wideslider {
    width: 100%;
    text-align: left;
    position: relative;
    overflow: hidden;
}
.wideslider ul,
.wideslider ul li {
    float: left;
    display: inline;
    overflow: hidden;
}
.wideslider ul li img {
    width: 100%;
    display: none;
}
.wideslider_base {
    top: 0;
    position: absolute;
}
.wideslider_wrap {
    top: 0;
    position: absolute;
    overflow: hidden;
 
}
.slider_prev,
.slider_next {
    top: 0;
    overflow: hidden;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
.slider_prev {background: rgba(255,255,255,0.6) url(img/header/prev.png) no-repeat right center;}
.slider_next {background: rgba(255,255,255,0.6) url(img/header/next.png) no-repeat left center;}
.pagination {
	display: none;
    bottom: 10px;
    left: 0;
    width: 100%;
    height: 15px;
    text-align: center;
    position: absolute;
    z-index: 200;
}
.pagination a {
    margin: 0 5px;
    width: 15px;
    height: 15px;
    display: inline-block;
    overflow: hidden;
    background: #333;
}
.pagination a.active {
    filter:alpha(opacity=100)!important;
    -moz-opacity: 1!important;
    opacity: 1!important;
}
/* =======================================
    ClearFixElements
======================================= */
.wideslider ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}
 
.wideslider ul {
    display: inline-block;
    overflow: hidden;
}


/*========================
BOX01
========================*/
#index .box01 {
	background: url(img/index/box01_bg.jpg)top left repeat;
	padding-bottom: 50px;
	font-weight: bold;
}
#index .box01 .title01 {
	height: 164px;
	width: 773px;
}
#index .box01 ul {
	display: flex;
	justify-content: space-between;
}
#index .box01 ul li {
	border: 2px solid #000;
	max-width: 280px;
	box-sizing: border-box;
}
#index .box01 ul li h3 {
	background-color: #0E59A5;
	color: #fff;
	font-size: 32px;
	font-weight: bold;
	position: relative;
	min-height: 90px;
	max-height: 90px;
	display: flex;
	justify-content: space-around;
	align-items: center;
}
#index .box01 ul li h3 p {
	position: relative;
	text-align: center;
	line-height: 1.1;
}
#index .box01 ul li h3 .k {
	padding-left: 40px;
}
#index .box01 ul li h3:before {
	position: absolute;
	display: block;
	content: "";
	background: url(img/index/box01_icon01.png);
	width: 70px;
	height: 70px;
	top: 10px;
	left: 8px;
}
#index .box01 ul li:nth-child(2) h3:before {
	background: url(img/index/box01_icon02.png);
}
#index .box01 ul li:nth-child(3) h3:before {
	background: url(img/index/box01_icon03.png);
}
#index .box01 ul li:nth-child(4) h3:before {
	background: url(img/index/box01_icon04.png);
}
#index .box01 ul li .txtarea {
	background-color: #fff;
	padding: 14px 18px;
	min-height: 139px;
	position: relative;
}
#index .box01 ul li .txtarea img {
	max-width: 240px;
	margin: 10px auto 0;
	position: absolute;
	bottom: 14px;
}

/*========================
BOX02
========================*/
#index .box02 {
	background-color: #d9edfd;
	padding-bottom: 50px;
	font-weight: bold;
}
#index .box02 .title01 {
	max-width: 1007px;
	margin: 0 auto;
}
#index .box02 ul {
	display: flex;
	justify-content: space-between;
	margin-top: -100px;
	min-width: 1400px;
}
#index .box02 ul li {
	border: 3px solid #000;
	box-sizing: border-box;
	max-width: 440px;
	position: relative;
}
#index .box02 ul li .icon {
	max-width: 422px;
	top: -40px;
	left: 5px;
	position: absolute;
}
#index .box02 ul li .under {
	background-color: #fff;
	border-top: 3px solid #000;
	padding: 20px;
}
#index .box02 .btn {
	max-width: 300px;
	margin: 50px auto 0;
}

/*========================
BOX03
========================*/
#index .box03 {
	background: url(img/index/box03_bg.jpg)top center no-repeat;
	background-size: cover;
	padding: 50px 0;
	position: relative;
}
#index .box03 h2 {
	position: relative;
}
#index .box03 .title01 {
	max-width: 862px;
	margin: 0 auto 50px;
}
#index .box03 h2:before {
	display: block;
	content: "";
	position: absolute;
	background: url(img/index/box03_icon.png);
	bottom: 0;
	right: 0;
	width: 172px;
	height: 172px;
}
#index .box03 #bx-wrapper {
	width: 2400px;
	left: 50%;
	margin-left: -1200px;
	position: relative;
}
/*========================
BOX06
========================*/
#index .box06 {
	background: url(img/index/box06_bg.jpg) top left repeat;
padding: 50px 0;
}

/*
voice_item
*******************/
#voice_list:after{
  content:"";
  display: block;
  width:30%;
}
.voice_item {
	width: 32%;
	max-width: 311px;
}
.voice_item .voice_img { position: relative; background-color: #fff; padding: 3px;}
.voice_item .voice_img img {
	height: 214px; 
	object-fit: cover;
}
/*item01*/
.voice_item:nth-child(1) .voice_img:before {
	content: "";
	background: url(img/index/box06_icon01.jpg) right bottom no-repeat;
	background-size: contain;
	width: 64px;
	height: 64px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
/*item02*/
.voice_item:nth-child(2) .voice_img:before {
	content: "";
	background: url(img/index/box06_icon02.jpg) right bottom no-repeat;
	background-size: contain;
	width: 64px;
	height: 64px;
	position: absolute;
    top: 0;
	left: 0;
	z-index: 1;
}
/*item03*/
.voice_item:nth-child(3) .voice_img:before {
	content: "";
	background: url(img/index/box06_icon03.jpg) right bottom no-repeat;
	background-size: contain;
	width: 64px;
	height: 64px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.voice_txt {
	background: #fff;
	padding: 17px;
}
.voice_txt h3 { font-size: 20px; font-weight: bold;}
.voice_txt .archive_cap { font-weight: bold;}


/*========================
BOX04
========================*/
#index .box04 {
	background: url(img/index/box04_bg.jpg) left top repeat;
	padding: 50px 0;
	min-height: 350px;
}
#index .box04 h2 {
	max-width: 763px;
	min-width: 763px;
}
#index .box04_title {
	display: flex;
	margin-bottom: 30px;
	justify-content: space-between;
	align-items: flex-end;
}
#index .box04_title .icon01 {
	max-width: 133px;
	height: auto;
}
#index .box04_title .icon02 {
	max-width: 265px;
	height: auto;
} 
.bxslider li {
	min-width: 800px;
	margin: 0 20px;
	height: 260px;
	position: relative;
}


/*
work_item
*******************/
#work_list:after{
  content:"";
  display: block;
  width:30%;
}
.work_item {
	width: 23.5%;
	max-width: 282px;
	margin: 0 0 20px;
}
.work_img {box-sizing: border-box; border: 4px solid #000; margin-bottom: 10px;}
.work_img img {
	height: 200px; 
	object-fit: cover;
}
.work_no {
	min-width: 66px;
	min-height: 66px;
}
.work_item:nth-child(1) .work_no { background: url(img/work/icon01.png) top center no-repeat; }
.work_item:nth-child(2) .work_no { background: url(img/work/icon02.png) top center no-repeat; }
.work_item:nth-child(3) .work_no { background: url(img/work/icon03.png) top center no-repeat; }
.work_item:nth-child(4) .work_no { background: url(img/work/icon04.png) top center no-repeat; }
.work_item:nth-child(5) .work_no { background: url(img/work/icon05.png) top center no-repeat; }
.work_item:nth-child(6) .work_no { background: url(img/work/icon06.png) top center no-repeat; }
.work_item:nth-child(7) .work_no { background: url(img/work/icon07.png) top center no-repeat; }
.work_item:nth-child(8) .work_no { background: url(img/work/icon08.png) top center no-repeat; }

.work_txt { align-items: center; margin-bottom: 10px;}
.work_txt_box { padding: 10px 0px 10px 10px; }
.work_txt_box p { font-size: 14px; }


/*========================
BOX05
========================*/
#index .box05 {
	background: #d0e2f2;
	padding: 50px 0;
}
#index .box05 .inbox {
	position: relative;
	}
#index .box05 .inbox:after {
	display: block;
	content: "";
	background: url(img/index/box05_icon01.png);
	width: 437px;
	height: 539px;
	position: absolute;
	bottom: -50px;
	right: -180px;
}
#index .box05 .btn {
	max-width: 240px;
	margin: 20px auto 0;
}
#index .box05 h2 {
	max-width: 680px;
	margin: 0 auto;
}
#index .box05 .item {
	width: 1200px;
	box-sizing: border-box;
}
#index .box05 .item #blog_list {
	padding: 30px 20px 10px;
}
#index .box05 .item #blog_list .blog_item {
	border-bottom: 2px solid #146b9e;
	padding: 10px 0;
}
#index .box05 .item #blog_list .blog_item:nth-child(2n) {
	background-color: #bcd4ea;
}
#index .box05 .item #blog_list .blog_item:last-child {
	margin: 0;
}
#index .box05 .item #blog_list .blog_item:hover { opacity: 0.7; }
#index .box05 .item #blog_list .blog_txt_item01 {
	color: #000;
	font-size: 14px;
	font-weight: bold;
	margin: 0 18px 0 0;
}
#index .box05 .item #blog_list .blog_txt_item02 h3 {
	font-size: 14px;
	font-weight: bold;
	line-height: 1em;
}
#index .box05 .item #blog_list .blog_txt_item02 p {
	font-size: 14px;
	text-decoration: underline;
}

/*pr_box*/
#index .pr_box {background: url("img/index/pr_bg01.jpg")top center no-repeat,url("img/index/pr_bg02.jpg")bottom left repeat; padding: 50px 0; font-family: 'Noto Sans JP';}
#index .pr_box .txt01 {display: table; background: #fff; padding: 5px 20px; transform: skewX(-10deg); margin: 0 auto 15px; font-weight: 900; line-height: 1;}
#index .pr_box .txt01 span {font-size: 20px; line-height: 1; color: #0e59a5; transform: skewX(10deg); display: block;}
#index .pr_box .txt02 {margin-bottom: 50px;}
#index .pr_box .txt02 p {font-size: 65px; margin: 0 20px; font-weight: 900; color: #fff; line-height: 1;}
#index .pr_box .txt02 img {width: auto;}
.pr_box .pr_movie {position: relative; z-index: 10; cursor: pointer; margin: 0 auto; width: 1000px; aspect-ratio: 16 / 9;}
.pr_box .pr_movie iframe {width: 100%; height: 100%;}

/*========================
BOX07
========================*/
#index .box07 {
	background: url(img/index/box07_bg.jpg)top center repeat;
	padding: 50px 0;
}
#index .box07 h2 {
max-width: 630px;
	margin: 0 auto;
}
#index .box07 ul {
	width: 1200px;
	background-size: cover;
	margin: 40px auto 0;
	display: flex;
	justify-content: space-between;
}
#index .box07 ul li{
	background-color: #0e59a5;
	padding: 4px;
}
#index .box07 h3 {
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	margin: 7px 0;
}
/*========================
BOX08
========================*/
#index .box08 {
	background-color: #0e59a5;
	padding: 50px 0;
}
#index .box08 h2 {
	max-width: 803px;
}
#index .box08 p {
	color: #fff;
	line-height: 2;
	margin: 20px 0;
	font-weight: bold;
}
#index .box08 .under {
	background: url(img/index/box08_under_bg.jpg)center center repeat;
	box-sizing: border-box;
	border: 4px solid #09d3ff;
	display: flex;
	align-items: center;
	padding: 5px 15px;
	justify-content: space-between;
}
#index .box08 .under .logo {
	max-width: 84px;
	height: auto;
	margin-right: 10px;
}
#index .box08 .under .item01 {
	max-width: 362px;
	height: auto;
	margin-right: 10px;
}
#index .box08 .under .item02 {
	max-width: 181px;
	height: auto;
	margin-right: 10px;
}
#index .box08 .under .tel {
	max-width: 360px;
	height: auto;
	margin-bottom: 10px;
}
#index .box08 .under .mail {
	max-width: 390px;
	height: auto;
}
#index .box08 .under .item03 {
	max-width: 108px;
	height: auto;
}


/*========================
FOOTER
========================*/
footer {

}
footer .footer_over {
		background: url(img/footer/footer_bg.jpg)center bottom repeat;
	padding: 50px 0;
	background-size: contain;
	font-size: 14px;
	color: #000;
	font-weight: bold;
}
footer a:hover { opacity: 0.5; }
footer span.line { text-decoration: underline; }

footer .site_map .inbox {
	padding: 30px 0 50px;
	position: relative;
}

/*box01*/
footer .site_map_box ul.site_map_list01 { margin-right: 65px; }
footer .site_map_box li {
	font-size: 13px;
	margin-bottom: 1.2em;
}
footer .site_map_box li a {
		border-bottom: 1px solid;
	box-sizing: border-box;
	display: inline;
}
/*box02*/
footer .site_map_box02 {
	width: 400px;
	padding: 20px;
	background: rgba(355,355,355,0.35);
}
footer .site_map_box02 .logo { margin: 0 auto 20px; max-width: 378px;}
footer .site_map_box02 table {margin: 0 auto;}
footer .site_map_box02 p { margin: 0 0 10px; }
footer .site_map_box02 table th {font-weight: bold; width: 70px;}
footer .copy {
	color: #fff;
	text-align: center;
	background-color: #0e59a5;
	padding: 10px 0;
	margin-bottom: 76px;
	font-weight: bold;
}
#index .box02 ul a:hover img {
	opacity: 1;
}

/*========================
POP BANNER
========================*/
#pop_banner {
	width: 100%;
	position: fixed;
	bottom: 10px;
	left: 0;
	right: 0;
	z-index: 9999;
}
#pop_banner .inbox {
	background: url(img/footer/footer_bg02.jpg) no-repeat;
	margin: auto;
	padding: 7px;
	width: 900px;
	position: relative;
	justify-content: flex-end;
}
#pop_banner .la {margin-right: 13px;}
#pop_banner .inbox:before {
	content: "";
	background: url(img/footer/pop_banner_title_icon.png) left top no-repeat;
	width: 93px;
	height: 90px;
	position: absolute;
	left: -30px;
	bottom: 0;
}
#pop_banner h2 { margin: 0 0 0 50px; }
#pop_banner .tel img { margin: 0 0 5px; }
#pop_banner .tel p { color: #656565; }
#pop_banner .pop_banner_item {
	margin-left: 1px;
}


/*========================
ページ設定
========================*/
.page_title {
	background: #0e59a5;
	border-left: 6px solid #0454a5;
	text-align: left;
	padding-left: 1em;
}

.pan {
	color: #a6a6a6;
	font-size: 12px;
}
.pan a:first-child { text-decoration: underline; }
.pan p,
.pan a { margin: 0 5px 0 0; }

.child_title {
	background: url(img/child_title_bg.gif) left top repeat;
	border-bottom: 2px solid #f6cf18;
	font-weight: bold;
	padding: 10px;
	text-align: left;
}

h3.child_title {
	font-weight: bold;
	background: #d2f0d5;
	border-left: 4px solid #4ac456;
	border-bottom: none;
	padding: 10px;
	text-align: left;
}

.single_page {
	width: 100%;
	max-width: 715px;
}

.page_thumb { background: #fff; }

.page_thumb img {
	width: 100%;
	height: 220px;
	margin: auto;
	object-fit: cover;
}

.archive_cap {
	font-size: 14px;
	font-weight: bold;
	color: #000;
}

/*
contact_banner
*************/
#contact_banner {
	background-color: #0e59a5;
	box-sizing: border-box;
	position: relative;
	z-index: 0;
	padding-bottom: 0.2px;
	margin-top: 40px;
}
#contact_banner:before {
	display: block;
	content: "";
	position: absolute;
	background: url(img/bnr/zin.png);
	width: 200px;
	height: 266px;
	bottom: 5px;
	right: 0;
	z-index: 5;
}
#contact_banner h2 {
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	color: #fff;
}
#contact_banner .bnrinner {
	display: flex;
	background: url(img/bnr/bnrinner_bg.jpg)center center repeat;
	padding: 20px 15px;
	justify-content: space-between;
	align-items: flex-end;
	margin: 0 5px 5px;
}
#contact_banner .bnrinner .con .over {
	display: flex;
	justify-content: space-between;
}
#contact_banner .logo {
	max-width: 71px;
}
#contact_banner .name {
	max-width: 293px;
	margin-left: 10px;
}
#contact_banner .tel {
	max-width: 344px;
	margin-top: 15px;
}
#contact_banner .text {
	max-width: 175px;
	position: relative;
	z-index: 10;
}
#contact_banner .mail {
	max-width: 300px;
	margin-top: 7px;
	position: relative;
	z-index: 10;
}


/*
記事詳細ページ
***************/

.previous-entries,.next-entries {
	color: #000;
	text-align: center;
    width: 80px;
    background: #ddd;
    padding: 6px 0;
    border: 2px solid #bbb; 
    box-sizing: border-box;
}
.nav_archive_btn {
	color: #fff;
	text-align: center;
	width: 150px;
	background: #ff9617;
	padding: 6px 0;
	border-bottom: 3px solid #FFCC1E; 
    box-sizing: border-box;
}
.single_blog {
	background-color: #0E59A5;
	font-size: 14px;
	padding: 15px;
}
.single_blog img { margin: 10px 0; }
.entry {
	background: #fff; 
	padding: 20px;
}


/*ページネーション
*******************/
.paging {
	clear: both;
	padding: 20px 0;
	position: relative;
	font-size: 14px;
	line-height: 14px;
    text-align: center;
}
.paging-box {
	display: inline-block;
}
.paging span, .paging a {
	display: block;
	float: left;
	margin: 2px 2px 2px 0;
	padding: 10px 15px 10px 15px;
	text-decoration: none;
	width: auto;
	color: #fff; /* 文字色 */
	background: #000; /* 背景色 */
}
.page-of {display: none !important;}
.paging a:hover{
	color: #fff; /* マウスホバー時の文字色 */
	background: #ccc; /* マウスホバー時の背景色 */
}
.paging .current{
	padding: 10px 15px 10px 15px;
	color: #fff; /* 文字色 */
	background: #ccc; /* 背景色 */
}
@media only screen and (max-width: 413px) {
.paging {
	font-size: 12px;
	line-height: 12px;
}
.paging span, .paging a {
	padding: 8px 10px 8px 10px;
}
.paging .current{
	padding: 8px 10px 8px 10px;
}
}
.ftlink {
	display: inline-block;
	margin-left: 20px;
}
.tright {
	float: right;
	width: 50%;
}
.tleft {
	float: left;
	width: 45%;
}
.t:after {
	content: "";
	display: block;
	clear: both;
}