/*
Theme Name: tomita-naika
Author: tomita-naika
Author URI: https://www.tomita-naika.net/
Description: tomita-naika
Version: 2023.12.25
*/

/*-------------------------------
 
reset CSS
 
-------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: none;
font-style: normal;
text-align: left;
zoom: 1;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
table {
border-collapse: collapse;
font-family: inherit;
}
h1, h2, h3, h4, h5 {
font-size: 100%;
font-weight: normal;
line-height: 1.5;
}
input, textarea, select {
font-family: inherit;
font-size: 16px;
}
input[type="button"], input[type="text"], input[type="submit"] {
-webkit-appearance: none;
border-radius: 0;
}
textarea {
resize: vertical;
-webkit-appearance: none;
border-radius: 0;
}
th, td {
border-collapse: collapse;
}
ul, ol {
list-style-type: none;
}
img {
vertical-align: text-bottom;
vertical-align: -webkit-baseline-middle;
max-width: 100%;
height: auto;
width :auto;
}
div {
box-sizing: border-box;	
}
a {
color: #333;
text-decoration: none;
}
a:hover {
opacity: 0.8;
}
address a {
color: #fff;
}
body {
color: #333;
display: initial;
font-family: 'Arimo', sans-serif;
line-height: 1.8em;
}

/*-------------------------------
 
header
 
-------------------------------*/
header {
	background: #fff;
	position: fixed;
	top : 0;
	width: 100%;
	z-index: 1000;
}
h2, h3, h4 {
	font-family: sans-serif;
}
strong {
	font-weight: bold;
}
.logo {
	box-sizing: border-box;
	display: block;
	float: left;
    width: 500px;
}
.nav-wapper {
	margin: 1em auto;
	max-width: 1300px;
	overflow: hidden;
	width: 90%;
}
.nav-inner {
	float: right;
	margin: 1em auto 0 auto;
}
.nav-inner ul {
	display: flex;
}
.nav-inner ul li:last-child a {
	background: #156ea4;
	color: #fff;
	padding: 0.5em 1em 0.5em 3em;
	position: relative;
}
.nav-inner ul li:last-child a::before {
	background: url(img/tel-icon.svg) no-repeat;
	content: "";
	display: block;
	position: absolute;
	left: 15px;
	width: 28px;
    height: 30px;
}
.nav-inner ul li:last-child a:hover {
	background: #0480b7;
	opacity: 1;
}
header nav a {
	display: block;
	font-weight: bold;
	padding: 0.5em 1.5em;
}
header nav a:hover {
	color: #156ea4;
}
.sub-main-box {
	background: url(img/sub-main.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
	width: 100%;
	height: 310px;
}
.title-box {
	background: rgba(12, 116, 174, .6);
    display: block;
    width: 100%;
    height: 100%;
}

/*-------------------------------
 
footer
 
-------------------------------*/
.gallery-box {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
.info-box-wrapper {
	background: #136ea4;
	color: #fff;
}
.info-box-inner {
	margin: 0 auto;
	max-width: 1200px;
	padding: 1em 0;
	position: relative;
	text-align: center;
	width: 80%;
}
.info-box-inner p {
	display: inline;
	padding: 0 2em 0 2.5em;
}
.info-box-inner .info-txt01 {
	border-right: 1px solid #fff;
	position: relative;
}
.info-box-inner .info-txt01::before {
	background: url(img/info-icon01.svg) no-repeat;
	content: "";
	display: block;
	position: absolute;
	top: -6px;
	left: 0;
	width: 30px;
	height: 38px;
}
.info-box-inner .info-txt02 {
	margin-left: 1.5em;
	position: relative;
}
.info-box-inner .info-txt02::before {
	background: url(img/info-icon02.svg) no-repeat;
	content: "";
	display: block;
	padding: 0 2em 0 4em;
	position: absolute;
	top: -3px;
	left: 0;
	width: 27px;
	height: 27px;
}
.info-box-inner p span {
	font-weight: bold;
	margin-right: 2em;
}
.footer-wapper {
	margin: 3em auto 0 auto;
	width: 90%;
}
.footer-wapper ul {
	display: flex;
    margin: 6em auto;
    max-width: 800px;
    width: 45%;
}
.footer-wapper li a {
	padding: 0 1em;
}
.footer-wapper li a:hover {
	color: #ddd78e;
}
.footer-logo {
	display: block;
	margin-bottom: 3em;
	width: 480px;
	height: 60px;
}
.footer-wapper .btn-style01 {
	background: #e6e6e6;
	padding: 0.8em 5em;
}
.footer-wapper .btn-style01:hover {
	background: #fffbd4;
}
.footer-inner {
	margin: auto;
	max-width: 1300px;
}
.top-btn {
	position: fixed;
	right: 10px;
	bottom: 10px;
	width: 50px;
	z-index: 1000;
}
.top-btn img {
	width: 100%;
}
.cta-btn {
	display: none;
}
address {
	line-height: 2em;
}
address .tel {
	-webkit-appearance: none;
	color: #cb6794;
	font-size: 2em;
	font-weight: bold;
	margin: 0.5em 0;
}
address .tel span {
	font-size: 0.6em;
	margin-right: 0.6em;
}
.credit {
	font-size: 0.9em;
	margin-top: 10em;
	text-align: center;
}

/*-------------------------------
 
common
 
-------------------------------*/
.content-box01 {
	margin: 6em auto;
	max-width: 1100px;
	overflow: hidden;
	text-align: center;
	width: 85%;
}
.content-box01 img {
	width: 100%;
}
.title-style01 {
	color: #0c74ae;
	font-size: 1.8em;
	margin-bottom: 2em;
	text-align: center;
}
.title-style01::after {
	background: #0c74ae;
	content: "";
	display: block;
	margin: 0.8em auto 0 auto;
	width: 60px;
	height: 3px;
}
.title-style02 {
	color: #fff;
    font-size: 2em;
    font-weight: bold;
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    top: 52%;
}
.title-style03 {
	color: #333;
	font-size: 1.6em;
	font-weight: bold;
	margin: 0 auto 0.6em auto;
	text-align: center;
}
.title-style04 {
	font-size: 1.2em;
	font-weight: bold;
	margin: 1.2em auto 1em auto;
}
.title-style05 {
	border-bottom: 1px solid #af1e23;
	font-size: 1.2em;
	margin-bottom: 1em;
	padding-bottom: 0.25em;
}
.title-style05::before {
	color: #af1e23;
	content: "●";
	margin-right: 0.5em;
}
.btn-style01 {
	background: #fff;
	border: 1px solid #666;
	display: inline-block;
	font-family: sans-serif;
	margin-top: 2em;
	padding: 1em 4em;
	position: relative;
}
.btn-style01::after {
	position: absolute;
	top: 25%;
	right: 0.25em;
}
.btn-style01:hover {
	background: #efefef;
}
.link-style01 {
	display: block;
	text-align: right;
	text-decoration: underline;
}
.box-layout02 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 0 3em;
	margin: 1em auto 3em auto;
}
.box-layout03 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 0 4em;
}
.content-box01 .txt-box01 {
	line-height: 2em;
	margin: auto;
}
.box-style01 {
	background: #cfe0ef;
	border: 1px solid #5179a9;
	padding: 3em 4em;
}
.table-style01 {
	border: 1px solid #5179a9;
	width: 100%;
}
.table-style01 tr {
	border-top: 1px solid #5179a9;
    border-bottom: 1px solid #5179a9;
}
.table-style01 th {
	box-sizing: border-box;
	font-size: 0.8em;
	font-weight: normal;
	padding: 1.5em 0;
	text-align: center;
	width: 10%;
}
.th-style01 {
	background: #5179a9;
	border-right: 1px solid #fff;
	color: #fff;
	font-weight: bold;
	text-align: center;
}
.table-style01 .th-style01:first-of-type {
	width: 30%;
}
.th-style01:last-of-type {
	border-right: 1px solid #5179a9;
}
.th-style02 {
	background: #bcd0e1;
	border-right: 1px solid #5179a9;
}
.th-style02:last-child {
	border-right: none;
}
.table-style01 .th-style02:first-of-type {
	width: 8%;
}
.table-style01 .th-style02:nth-of-type(2) {
	width: 22%;
}
.table-style01 td {
	background: #fff;
	border-right: 1px solid #5179a9;
	box-sizing: border-box;
	padding: 1.2em 0;
	text-align: center;
	width: 10%;
}
.table-style01 td:last-child {
	border-right: none;
}
.td-style01, .td-style02 {
	font-weight: bold;
}
.td-style01 {
	color: #136ea4;
	display: block;
	line-height: 1.5em;
	text-align: center;
}
.td-style01 span {
    font-size: .5em;
    display: block;
    line-height: 1em;
    text-align: center;
}
.td-style02 {
	color: #a62124;
}
.mt1em {
	margin-top: 1em!important;
}
.mt2em {
	margin-top: 2em!important;
}
.mb1em {
	margin-bottom: 1em!important;
}
.mb2em {
	margin-bottom: 2em!important;
}
.alignL {
	text-align: left;
}
.alignC {
	text-align: center;
}
.alignR {
	text-align: right;
}
.pc {
	display: block;
}
.sp {
	display: none;
}
.floatL {
	float: left;
}
.floatR {
	float: right;
}
.table-style01 input {
	background: #e6e6e6;
	border: 1px solid #e6e6e6;
	box-sizing: border-box;
	padding: 0.25em 0.5em;
}
.table-style01 input::placeholder, .table-style01 textarea::placeholder {
	box-sizing: border-box;
	color: #a6a6a6;
	display: block;
	font-size: 0.9em;
}
.table-style01 select {
	box-sizing: border-box;
	display: block;
	font-size: 0.9em;
	padding: 0.5em;
	width: 100%;
	height: 2.5em;
}
.table-style01 option {
	box-sizing: border-box;
	display: block;
	padding: 0.5em 0;
	height: 2.5em;
}
.table-style01 textarea {
	border: 1px solid #e6e6e6;
	box-sizing: border-box;
	padding: 0.25em 0.5em;
	width: 70%;
}
.wpcf7 input[type="text"], .wpcf7 input[type="tel"], .wpcf7 input[type="email"], .wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
}
.submit-btn {
	background: #f2f2f2;
	border: 1px solid #b3b3b3;
	padding: 1em 5em;
}
.submit-btn:hover {
	background: #fffbd4;
}
.breadcrumb {
	margin: 0.5em auto;
	max-width: 1300px;
	width: 90%;
}
.font-style01 {
	font-weight: bold;
}

/*-------------------------------
 
top
 
-------------------------------*/
#section01 .logo-style01 {
	margin: 2em auto 3em auto;
	width: 156px;
	height: 150px;
}
#section01 .txt-box01 p {
	margin-bottom: 3em;
}
.btn-box01 {
	display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 0 3em;
    margin: 3em auto;
    width: 60%;
}
.btn-style01-1, .btn-style01-2 {
	background: #333;
	box-sizing: border-box;
	color: #fff;
	display: block;
	font-size: 1.2em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 35px;
	padding: 1em 2em;
	position: relative;
	text-align: center;
	width: 350px;
	height: 70px;
}
.btn-style01-1::after, .btn-style01-2::after {
	background: url(img/arrow-icon.svg) no-repeat;
	content: "";
	display: block;
	position: absolute;
	top: 26.5px;
	right: 1.5em;
	width: 15px;
	height: 15px;
}
.btn-style01-1 {
	background: #af1e23;
}
.btn-style01-1:hover {
	background: #c9202d;
	opacity: 1;
}
.btn-style01-2 {
	background: #0c74ae;
}
.btn-style01-2:hover {
	background: #0480b7;
	opacity: 1;
}
#section01 .box-style01 {
	padding: 0 4em 3em 4em;
}
#section01 .title-style03 {
	padding-top: 2.5em;
}
#section02 .title-style01 {
	padding-top: 2.5em;
}
#section02 .btn-style01-2 {
	margin: 3em auto;
}
#section03 .title-style01 {
	border-top: 2px solid #e4ecf4;
	padding-top: 2.5em;
}
.news-box h3 {
	font-size: 1.1em;
	font-weight: bold;
	margin-bottom: 0.5em;
}
.news-box p:last-child {
	margin-bottom: 2em;
}
.news-txt {
	margin: auto;
	width: 90%;
}

/*-------------------------------
 
services
 
-------------------------------*/
.box-layout03-1 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 0 3em;
	margin-bottom: 3em;
}
.box-layout03-1 figcaption {
	color: #af1e23;
	font-size: 1.2em;
	font-weight: bold;
	margin-top: 0.6em;
	text-align: center;
}

/*-------------------------------
 
greeting
 
-------------------------------*/
.box-layout02-1 figcaption, .box-layout02-2 figcaption {
	margin-top: 0.8em;
	text-align: center;
}
.box-layout02-1, .box-layout02-2 {
	margin: auto;
	overflow: hidden;
}
.box-layout02-1 .floatL {
	box-sizing: border-box;
	padding-right: 3em;
	width: 70%;
}
.box-layout02-1 .floatR {
	width: 30%;
}
.box-layout02-2 {
	margin-top: 3em!important;
}
.box-layout02-2 .floatL {
	width: 30%;
}
.box-layout02-2 .floatR {
	box-sizing: border-box;
	padding-left: 3em;
	width: 70%;
}
.txt-box01 .box-style01 {
	margin-top: 2em;
	padding: 1em;
}
.list-style01 {
	padding-left: 1.6em;
}
.list-style01 li {
	list-style: decimal;
	margin-top: 1em;
}
.list-style01 li:first-child {
	margin-top: 0;
}
.list-style02 li {
	position: relative;
}
.list-style02 li::before {
	background: url(img/link-icon.svg) no-repeat;
	content: "";
	display: inline-block;
	margin-right: 0.5em;
	position: relative;
	top: 0.2em;
	width: 1em;
	height: 1.2em;
}
.list-style02 li a:hover {
	color: #0c74ae;
	text-decoration: underline;
}

@media screen and (max-width: 1024px) {
.pc {
	display: none;
}
.sp {
	display: block;
	margin: auto;
	overflow: hidden;
	width: 95%;
}
.logo {
	margin: 0.5em auto;
	width: 80%;
}
.mb_btn {
    cursor: pointer;
    display: block;
    position: fixed;
    top: 10px;
    right: 20px;
    width: 30px;
    height: 30px;
}
.mb_btn span {
    background: #333;
    display: block;
    font-weight: bold;
    position: relative;
    transition: all .6s;
    width: 30px;
    height: 2px;
}
.mb_btn span:first-child {
    top: 8px;
}
.mb_btn span:nth-child(2) {
    top: 14px;
}
.mb_btn span:nth-child(3) {
    top: 20px;
}
.mb_btn.active span:first-child {
    top: 10px;
    transform: translateY(6px) rotate(-45deg);
}
.mb_btn.active span:nth-child(2) {
    opacity: 0;
}
.mb_btn.active span:nth-child(3) {
    top: 18px;
    transform: translateY(-6px) rotate(45deg);
}
.mb_btn.active + .mb_menu ul {
    right: 0;
    transition: all .6s;
}
.mb_menu ul {
    background: #fff;
    position: fixed;
    top: 4em;
    right: -80%;
    transition: all .6s;
    width: 80%;
}
.mb_menu ul li {
	float: none;
}
.mb_menu ul li a {
    border-bottom: 1px solid #333;
    color: #333;
    display: block;
    font-size: 0.8em;
    font-weight: bold;
    height: initial;
    padding: .5em 1em;
}
.mb_menu ul li:last-child a {
	background: #0c74ae;
	border-bottom: none;
    color: #fff;
    padding-left: 50px;
	position: relative;
}
.mb_menu ul li:last-child a::before {
	background: url(img/tel-icon.svg) no-repeat;
	content: "";
	display: block;
	position: absolute;
	left: 15px;
	width: 28px;
    height: 30px;
}
.btn-box01, .btn-box02, .btn-box03 {
	position: relative;
	width: 90%;
	z-index: 1;
}
.box-layout02 {
	display: block;
	margin: auto;
}
.box-layout03 {
	display: block;
	margin: auto;
	width: 90%;
}
.box-layout03 div {
	margin-bottom: 2em;
}
.box-layout03 div:last-child {
	margin-bottom: 0;
}
.content-box01, .news-box {
	max-width: initial;
	margin: 2em auto 3em auto;
	width: 90%;
}
.content-box01 .txt-box01 {
	max-width: initial;
	width: 100%;
}
.btn-box01 {
	display: block;
}
.btn-style01-1, .btn-style01-2 {
	width: 100%;
}
.btn-box01 .btn-style01-1 {
	margin-bottom: 2em;
}
.box-layout02 img {
	margin-bottom: 2em;
}
.footer-wapper ul {
	display: block;
	max-width: initial;
	width: 90%;
}
.footer-wapper ul li {
	text-align: center;
}
.box-layout03-1 {
	display: block;
}
.box-layout03-1 figure {
	margin-bottom: 3em;
}
.box-layout03-1 figure:last-of-type {
	margin-bottom: 0;
}
.box-layout02-2 .floatL, .box-layout02-3 .floatR {
	padding: 0;
}
}

@media screen and (max-width: 768px) {
.title-style01, .title-style03 {
	font-size: 1.2em;
	margin-bottom: 1em;
}
.title-style02 {
	font-size: 1.5em;
	top: 50%;
}
.sub-main-box {
	height: 150px;
}
.box-style01 {
	padding: 1em;
}
#section01 .box-style01 {
	padding: 0 1em 1em 1em;
}
#section01 .title-style03 {
    padding-top: 1.5em;
}
.box-layout02 img:first-of-type {
	margin-top: 2em;
}
.box-layout02-1 .floatL {
	float: none;
	padding-right: 0;
	width: 100%;
}
.box-layout02-1 .floatR {
	float: none;
	margin-top: 2em;
	width: 100%;
}
.box-layout02-2 .floatL {
	float: none;
	margin-top: 2em;
	width: 100%;
}
.box-layout02-2 .floatR {
	float: none;
	padding-left: 0;
	width: 100%;
}
.table-style01 {
	font-size: .8em;
}
.order-box {
	display: flex;
	flex-wrap: wrap;
}
.order01 {
	order: 1;
}
.order02 {
	order: 2;
}
.info-box-inner {
	width: 90%;
}
.info-box-inner p, .info-box-inner p span {
	display: block;
}
.info-box-inner p {
	padding: 0 0 0 2.5em;
}
.info-box-inner .info-txt01 {
	border-right: none;
	margin-bottom: 1.2em;
}
.info-box-inner .info-txt02 {
	margin-left: 0;
}
.footer-logo {
	width: 100%;
}
.footer-wapper li {
	padding: 0.5em 0;
}
.top-btn {
	bottom: 60px;
	width: 30px;
}
.cta-btn {
	display: flex;
	position: fixed;
	bottom: 0;
	z-index: 1000;
}
.credit {
	margin: 3em auto 6em auto;
}
}