@charset "utf-8";
/*
Theme Name: はやぶさ国際特許事務所 Hayabusa International Patent Office
Theme URI: null
Description: Description
Author: 81bridge - WXJ
Version: 1.0
*/
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300&display=swap');
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
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, font, 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 {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}

html {
	font-size: 62.5%;
}

body, table, input, textarea, select, option {
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
}

article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

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

a,
a:link {
	color: #595757;
	text-decoration: none;
}

a:visited {
	color: #595757;
}

a:hover {
	color: #595757;
}

a:active {
	color: #595757;
}

a, a img {
	-webkit-transition: .3s;
	-moz-transition: .3s;
	-ms-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}


/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1040px;
	color: #595757;
	font-size: 1.5rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}

#container {
	text-align: left;
}

#main {
    padding: 140px 0 47px;
}

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

@media all and (min-width: 768px) {
	.sp {
		display: none !important;
	}
    #gHeader .hInner .rBox {
        display: block !important;
    }
}

@media all and (max-width: 767px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
	}

	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	
	.pc {
		display: none !important;
	}
	
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
    #main {
        padding: 100px 0 50px;
    }

	
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    border-bottom: 1px solid #64AADE;
}
#gHeader .hInner {
    margin: 0 auto;
    width: 800px;
    padding: 7px 0 9px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#gHeader h1 {
    margin-left: 11px;
}
#gHeader .hInner .rBox {
    margin-top: 5px;
    width: 540px;
}
#gHeader .hInner .rBox .list {
    margin-bottom: 8px;
    float: right;
    display: flex;
}
#gHeader .hInner .rBox .list li {
    margin-left: 20px;
}
#gHeader .hInner .rBox .list li a:hover {
    opacity: 0.7;
}
#gHeader .naviUl {
    margin-left: 3px;
    clear: both;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#gHeader .naviUl li {
    padding: 7px 11px;
    font-size: 1.3rem;
    font-weight: 700;
    border-left: 2px solid #595757;
}
#gHeader .naviUl li a:hover {
    opacity: 0.7;
}
#gHeader .naviUl li:last-child {
    border-right: 2px solid #595757;
}
@media all and (max-width: 767px) {
	#gHeader {
	}
    #gHeader .hInner {
        width: auto;
        display: block;
        position: relative;
    }
    #gHeader h1 img {
        width: 120px;
    }
    #gHeader .hInner .rBox {
        display: none;
        margin: 0;
        position: absolute;
        top: 63px;
        left: 0;
        width: 100%;
        z-index: 1000;
        background-color: #fff;
    }
    #gHeader .hInner .rBox .list {
        display: none;
    }
    #gHeader .naviUl {
        display: block;
        margin: 0;
        border-top: 2px solid #000;
    }
    #gHeader .naviUl li {
        padding: 0;
        border-right: none !important;
        border-left: none;
        border-bottom: 2px solid #000;
    }
    #gHeader .naviUl li a {
        padding: 10px;
        display: block;
    }
	#gHeader .menu {
		margin-top: 7px;
		position: absolute;
        top: 18px;
        right: 10px;
		height: 20px;
		width: 25px;
		cursor: pointer;
		z-index: 100;
		transition: opacity .25s ease;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}
	
	#gHeader .menu.active .top {
		-webkit-transform: translateY(7px) translateX(0) rotate(45deg);
		-ms-transform: translateY(7px) translateX(0) rotate(45deg);
		transform: translateY(7px) translateX(0) rotate(45deg);
		background: #000;
	}
	
	#gHeader .menu.active .middle {
		opacity: 0;
		background: #000;
	}
	
	#gHeader .menu.active .bottom {
		-webkit-transform: translateY(-7px) translateX(0) rotate(-45deg);
		-ms-transform: translateY(-7px) translateX(0) rotate(-45deg);
		transform: translateY(-7px) translateX(0) rotate(-45deg);
		background: #000;
	}
	
	#gHeader .menu span {
		background: #000;
		border: none;
		height: 3px;
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
		cursor: pointer;
	}
	
	#gHeader .menu span:nth-of-type(2) {
		top: 7px;
	}
	
	#gHeader .menu span:nth-of-type(3) {
		top: 14px;
	}}

/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
}

#gNavi li {
}

@media all and (max-width: 767px) {
}
/*------------------------------------------------------------
	パンクズリスト
------------------------------------------------------------*/
#pagePath {
}

#pagePath li {
	display: inline;
	color: #000;
	font-size: 1.2em;
}

#pagePath li a {
}

@media all and (max-width: 767px) {
}
/*------------------------------------------------------------
	conts
------------------------------------------------------------*/
#conts {

}

@media all and (max-width: 767px) {
}
/*------------------------------------------------------------
	sideBar
------------------------------------------------------------*/
#sideBar {

}

@media all and (max-width: 767px) {
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
    background-color: #65AADD;
}
#gFooter .fInner {
    background: url("img/common/f_bg.jpg") repeat left top;
    background-size: 11px auto;
}
#gFooter .fInner .sub {
    display: flex;
    flex-wrap: wrap;
    padding: 18px 0 15px; 
    margin: 0 auto;
    width: 656px;
    justify-content: space-between;
}
#gFooter .fInner .map {
    width: 377px;
    height: 270px;
}
#gFooter .fInner .map iframe {
    border: 3px solid #65AADD;
    box-sizing: border-box;
}
#gFooter .fInner .facebook {
    margin: -3px 10px 0 0;
    width: 246px;
    overflow: hidden;
}
#gFooter .fInner .facebook .subFace {
    width: 246px;
    height: 232px;
}
#gFooter .fInner .facebook p {
    font-size: 2.7rem;
    color: #fff;
    font-family: Arial, Helvetica, "sans-serif";
}
#gFooter .fInner .facebook p span {
    padding-right: 5px;
    display: inline-block;
    position: relative;
}
#gFooter .fInner .facebook p span:after {
	width: 9999px;  
	height: 1px;
    background-color: #fff;
	position: absolute;  
	top: 50%;
	left: 100%;  
	content: ""; 
}
#gFooter .fBox {
    margin: 0 auto;
    padding: 12px 0 24px;
    width: 782px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#gFooter .fBox .fLogo {
    margin: 11px 0 0 31px;
}
#gFooter .fBox .rBox {
    width: 574px;
}
#gFooter .fBox .rBox p {
    margin-bottom: 5px;
    color: #fff;
    letter-spacing: 1px;
}
#gFooter .fBox .rBox .txt {
    margin-bottom: 5px;
    padding-bottom: 2px;
    font-size: 1.1rem;
    letter-spacing: 0.8px;
    border-bottom: 1px dotted #fff;
}
#gFooter .fBox .rBox .txt span {
    font-size: 2rem;
    vertical-align: -4px;
    margin-right: 12px;
    letter-spacing: 0;
}
#gFooter .fBox .rBox .ttl {
    margin-bottom: 0;
    padding-bottom: 7px;
    font-size: 3.5rem;
    font-weight: 500;
    border-bottom: 1px solid #fff;
}
#gFooter .list {
    margin-left: -3px;
    display: flex;
    flex-wrap: wrap;
}
#gFooter .list li {
    margin-bottom: 2px;
    width: 49.5%;
}
#gFooter .list li .img {
    margin-right: 2px;
    width: 28px;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
}
#gFooter .list li .txtSpan {
    padding: 2px 7px;
    min-width: 225px;
    color: #65AADD;
    display: inline-block;
    font-weight: 500;
    background-color: #fff;
    border-radius: 8px;
    font-size: 1.15rem;
    box-sizing: border-box;
}
#gFooter .list li .txtSpan02 {
    font-size: 1.7rem;
    line-height: 1.1;
}
#gFooter .list li a {
    color: #65AADD;
}
#gFooter .list li a:hover {
    opacity: 0.7;
}
@media all and (max-width: 767px) {
    #gFooter .fInner .sub {
        width: auto;
        margin: 0 10px;
    }
    #gFooter .fInner .map {
        margin-bottom: 20px;
        width: 100%;
    }
    #gFooter .fInner .facebook {
        margin-right: 0;
        width: 100%;
    }
    #gFooter .fInner .facebook .subFace {
        height: 400px;
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }
    #gFooter .fBox {
        padding: 20px 10px 10px;
        width: auto;
        display: block;
    }
    #gFooter .fBox .fLogo {
        text-align: center;
        margin: 0 0 20px;
    }
    #gFooter .fBox .fLogo img {
        width: 120px;
    }
    #gFooter .fBox .rBox {
        width: auto;
    }
    #gFooter .fBox .rBox .ttl {
        text-align: center;
        font-size: 2rem;
        margin-bottom: 5px;
    }
    #gFooter .fBox .rBox .txt {
        padding-bottom: 5px;
        text-align: center;
    }
    #gFooter .fBox .rBox .txt span {
        display: block;
        margin: 0;
    }
    #gFooter .list {
        margin: 15px 0 0;
        display: block;
        text-align: center;
    }
    #gFooter .list li {
        min-height: 35px;
        width: auto;
    }
    #gFooter .list li .img {
        display: inline-block;
    }
}

/*------------------------------------------------------------
	書式設定
------------------------------------------------------------*/
/* テキストの位置 */
.taLeft { text-align: left !important; }
.taCenter { text-align: center !important; }
.taRight { text-align: right !important; }

/* フォントの太さ */
.fwNormal { font-weight: normal !important; }
.fwBold { font-weight: bold !important; }

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
	* html .clearfix {
		zoom: 1;
	}

	*+html .clearfix {
		zoom: 1;
	}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

/*------------------------------------------------------------
	mainBox
------------------------------------------------------------*/
.mainBox {
    margin: 0 auto;
    width: 800px;
}

@media all and (max-width: 767px) {
	.mainBox {
		margin: 0 15px;
		width: auto !important;
	}
}

.comTtl {
    margin: 0 5px;
    padding-bottom: 1px;
    border-bottom: 1px solid #595757;
}
.comTtl p {
    text-align: center;
    font-size: 2.1rem;
    line-height: 1.4;
    letter-spacing: -1px;
}
.headLine01 {
    margin-bottom: 1px;
    font-size: 3.965rem;
    color: #65AADD;
    font-weight: 300;
    text-align: center;
}
.headLine01 .txtSpan {
    padding: 2px 32px 4px;
    display: inline-block;
    background: url("img/common/bg01.png") no-repeat left center, url("img/common/bg02.png") no-repeat right center;
    background-size: 22px auto;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
}

@media all and (max-width: 767px) {
    .headLine01 {
        font-size: 2.2rem;
    }
    .headLine01 .txtSpan {
        padding-left: 20px;
        padding-right: 20px;
        background-size: 16px auto;
    }
    .comTtl p {
        font-size: 1.4rem;
        letter-spacing: 0;
    }
}

/*------------------------------------------------------------
	comLinkUl
------------------------------------------------------------*/
.comLinkUl {
	margin-top: 45px;
}
.comLinkUl li {
	margin-bottom: 13px;
}
.comLinkUl li:last-child {
	margin-bottom: 0;
}
/*------------------------------------------------------------
	comBtn01
------------------------------------------------------------*/
.comBtn01 a {
	margin: 0 auto;
	padding: 11px 8px 15px;
	width: 274px;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1;
	border-radius: 50px;
	text-align: center;
	box-sizing: border-box;
	border: 3px solid #007260;
	background: url(img/common/btn_bg01.jpg) repeat left top;
	background-size: 23px auto;
	display: block;
}
.comBtn02 a {
	border-color: #7d0000;
	background-image: url(img/common/btn_bg02.jpg)
}
@media all and (min-width: 768px) {
	.comBtn01 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 767px) {
	.comBtn01 a {
		padding: 12px 8px 14px;
		width: 250px;
		font-size: 1.6rem;
		border-width: 2px;
		background-size: 15px auto;
	}
}

/*------------------------------------------------------------
	comPrice
------------------------------------------------------------*/
.comPrice .textImg {
	margin-bottom: -79px;
	text-align: center;
}
.comPrice .bgBox {
	padding: 5px 0 24px;
	background-color: #65aadd;
	position: relative;
	z-index: 10;
}
.comPrice .h2Ttl {
	margin-bottom: 5px;
	color: #fff462;
	font-size: 5.4rem;
	text-align: center;
	font-weight: 900;
}
.comPrice .textUl {
	margin: 0 auto;
	max-width: 711px;
}
.comPrice .textUl li {
	margin-bottom: 25px;
	padding: 5px;
	background-color: #fff;
}
.comPrice .textUl li:last-child {
	margin-bottom: 0;
}
.comPrice .textUl .borderBox {
	padding: 8px;
	border: 1px solid #65aadd;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
}
.comPrice .textUl .txt {
	padding-left: 20px;
	min-height: 65px;
	width: 471px;
	box-sizing: border-box;
	line-height: 1.45;
	border-left: 1px solid #65aadd;
}
.comPrice .textUl .ttl {
	width: 200px;
	color: #65aadd;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
}
.comPrice .textUl .ttl,
.comPrice .textUl .txt {
	display: flex;
	align-items: center;
	justify-content: center;
}
@media all and (max-width: 767px) {
	.comPrice .textImg {
		margin: 0 15px -40px;
	}
	.comPrice .textImg img {
		width: 100%;
		max-width: 400px;
	}
	.comPrice .bgBox {
		padding: 15px 15px 24px;
	}
	.comPrice .h2Ttl {
		margin-bottom: 20px;
		font-size: 2.5rem;
	}
    .comPrice .textUl .borderBox {
        justify-content: flex-start;
    }
	.comPrice .textUl .ttl {
		padding-right: 5px;
		width: 95px;
		font-size: 1.2rem;
		box-sizing: border-box;
	}
	.comPrice .textUl .txt {
		padding-left: 10px;
		width: auto;
		flex: 1;
        min-height: inherit;
        justify-content: flex-start;
	}
}


/*------------------------------------------------------------
	wp-pagenavi
------------------------------------------------------------*/
.wp-pagenavi {
	margin-top: 36px;
	clear: both;
	text-align: center;
}
.wp-pagenavi a,
.wp-pagenavi span {
	display: inline-block;
	text-decoration: none;
	margin: 0 7px;
	color: #b5b5b6;
	font-size: 1.7rem;
}
.wp-pagenavi span.current {
	color: #595757;
}
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
	display: none;
}
@media all and (min-width: 768px) {
	.wp-pagenavi a:hover {
		color: #595757;
	}
}


/*------------------------------------------------------------
	comList
------------------------------------------------------------*/
.comList li {
	margin-bottom: 54px;
	display: flex;
	justify-content: space-between;
}
.comList li:last-child {
	margin-bottom: 0;
}
.comList .time {
	width: 100px;
	font-size: 1.8rem;
	font-weight: 400;
}
.comList dl {
	width: 656px;
	padding-left: 18px;
	min-height: 95px;
	border-left: 3px solid #dcdddd;
	box-sizing: border-box;
}
.comList dl dt {
	margin-bottom: 1px;
	line-height: 1.3;
	font-size: 1.8rem;
	font-weight: 500;
}
.comList dl dt a {
	padding: 0 6px 1px 0;
	color: #c7000b;
	font-weight: bold;
	display: inline-block;
	border-bottom: 1px dotted #595757;
}
@media all and (min-width: 768px) {
	.comList dl dt a:hover {
	    color: #9a2d35;
	}
}
@media all and (max-width: 767px) {
	.comList li {
		margin-bottom: 25px;
		padding-bottom: 25px;
		display: block;
		border-bottom: 1px solid #dcdddd;
	}
	.comList dl {
		margin-top: 3px;
		width: auto;
		padding-left: 0;
		border-left: none;
	}
	.comList .time {
		width: auto;
		font-size: 1.45rem;
	}
	.comList dl dt {
		margin-bottom: 15px;
		font-size: 1.45rem;
	}
	.comList dl dt a {
		padding: 0 0 5px;
	}
	.comList li:last-child {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}
	
}


/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.index {
    margin-top: -50px;
}
.index .fooUl {
    margin-bottom: 45px;
}
.index .fooUl a:hover img {
    opacity: 0.7;
}
.index .fooUl li img {
    width: 100%;
}
.index .fooUl .slick-dots {
    margin-top: 5px;
	text-align: center;
}
.index .fooUl .slick-dots li {
	margin: 0 6px;
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 100px;
	background-color: #D1D1D2;
}
.index .fooUl .slick-dots li button {
	display: none;
}
.index .fooUl .slick-dots li.slick-active {
	background-color: #000;
}
.index .newsBox h2 {
    margin-bottom: 6px;
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.05;
    letter-spacing: 2px;
    font-family: 'Barlow Condensed', sans-serif;
}
.index .newsBox h2 .txtSpan {
    min-width: 185px;
    display: inline-block;
    border-bottom: 1px solid #231815;
}
.index .newsBox h2 .txtSpan span {
    color: #D6162E;
}
.index .newsBox .sub {
    margin: 0 auto 16px;
    width: 586px;
    padding: 5px 10px;
    border: 1px solid #231815;
    box-sizing: border-box;
}
.index .newsBox .sub dl {
}
.index .newsBox .sub dt {
    padding: 3px 0 1px;
    float: left;
    font-size: 1.25rem;
    clear: both;
}
.index .newsBox .sub dd {
    padding-left: 8em;
    font-size: 1.25rem;
}
.index .newsBox .sub dd span {
    padding: 3px 0 1px 15px;
    display: inline-block;
    border-left: 1px solid #231815;
}
.comBtn03 {
    margin-bottom: 40px;
}
.comBtn03 a {
    margin: 0 auto;
    width: 175px;
    font-size: 1.5rem;
    font-weight: 400;
    padding-top: 8px;
    padding-bottom: 10px;
    background-image: url("img/common/btn_bg03.jpg");
    background-size: 7px auto;
    border-color: #5693C0;
    border-width: 2px;
}
.index .photo {
    margin-bottom: 40px;
    text-align: center;
}
.index .txtP {
    margin-bottom: 52px;
    font-size: 3rem;
    line-height: 1.4;
    text-align: center;
}
.index .blueBox {
    margin-bottom: 72px;
    background-color: #68B7DF;
}
.index .blueBox .mainBox {
    display: flex;
    flex-wrap: wrap;
    padding: 19px 0 0;
    width: 960px;
}
.index .blueBox .mainBox .lBox {
    width: 487px;
}
.index .blueBox .mainBox .lBox .ttl {
    text-align: center;
    margin: 0 0 -70px 54px;
    position: relative;
}
.index .blueBox .mainBox .rBox {
    margin: 19px -10px 0 10px;
    width: 386px;
}
.index .blueBox .mainBox .rBox p {
    font-size: 1.3rem;
    font-weight: 400;
    color: #fff;
    text-indent: 1em;
    line-height: 1.78;
    text-align: justify;
}
.index .blueBox .mainBox .rBox .ttl {
    margin: 0 0 8px -2px;
    text-indent: 0;
    font-size: 1.9rem;
    color: #65AADD;
    line-height: 1.5;
}
.index .blueBox .mainBox .rBox .ttl > span {
    display: inline-block;
    text-align: center;
    position: relative;
}
.index .blueBox .mainBox .rBox .ttl > span span {
    min-width: 157px;
    display: inline-block;
    position: relative;
    z-index: 1;
    background-color: #fff;
}
.index .blueBox .mainBox .rBox .ttl .img01 {
    position: absolute;
    top: -3px;
    left: -3px;
}
.index .blueBox .mainBox .rBox .ttl .img02 {
    position: absolute;
    bottom: -3px;
    right: -3px;
}
.index .info {
    margin: 39px auto 42px;
    padding-top: 10px;
    width: 692px;
}
.index .info p {
    margin-bottom: 12px;
    font-size: 1.4rem;
    color: #65AADD;
}
.index .info .ttl {
    margin-bottom: 4px;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.3;
}
.index .info .ttl > span {
    position: relative;
    display: inline-block;
}
.index .info .ttl > span span {
    padding: 2px 12px;
    display: inline-block;
    position: relative;
    z-index: 1;
    background-color: #fff;
    border: 1px solid #A0CBED;
}
.index .info .ttl .img01 {
    position: absolute;
    top: -2px;
    left: -2px;
}
.index .info .ttl .img02 {
    position: absolute;
    bottom: -2px;
    right: -2px;
}
.index .info .infoUl {
    display: flex;
    flex-wrap: wrap;
}
.index .info .infoUl li {
    margin-bottom: 11px;
    width: 218px;
    position: relative;
    box-sizing: border-box;
}
.index .info .infoUl li:nth-child(3n-1) {
    margin: 0 15px 11px;
}
.index .info .infoUl li .sub {
    padding: 31px 8px 9px;
    border: 2px solid #65AADD;
    border-radius: 0 0 20px 0;
}
.index .info .infoUl li p {
    color: #595757;
    font-size: 1.3rem;
    line-height: 1.43;
}
.index .info .infoUl li p:last-child {
    margin-bottom: 0;
}
.index .info .infoUl li .txt {
    text-align: justify;
    letter-spacing: -0.6px;
}
.index .info .infoUl li .nameP {
    padding: 0 5px 2px;
    margin-bottom: 5px;
    font-size: 1.9rem;
    color: #65AADD;
    line-height: 1.5;
    font-weight: 700;
    border-bottom: 1px solid #65AADD;
}
.index .info .infoUl li .nameP span {
    margin-left: 10px;
    font-size: 1.4rem;
    font-weight: normal;
    vertical-align: 2px;
    font-family: 'Barlow Condensed', sans-serif;
}
.index .info .infoUl li .textP {
    padding: 0 6px 6px 0;
    font-weight: 500;
    font-size: 1.4rem;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    background: url("img/index/bg.jpg") no-repeat right bottom;
    background-size: 162px auto;
}
.index .info .infoUl li .textP span {
    padding: 4px 5px 4px 10px;
    width: 156px;
    display: block;
    box-sizing: border-box;
    background-color: #65AADD;
    border-radius: 0 0 30px 0;
}
.index .info .inner {
    margin-right: 10px;
    padding-bottom: 9px;
    border: 1px solid #65AADD;
}
.index .info .inner p {
    margin: 0 5px 0 10px;
    font-size: 1.3rem;
    line-height: 1.28;
}
.index .info .inner .txt {
    text-indent: 1em;
}
.index .info .inner .ttl {
    margin: 0 0 5px;
    font-size: 1.4rem;
}
.index .info .inner .ttl span {
    padding: 0 18px 2px 10px;
    display: inline-block;
    color: #fff;
    line-height: 1.3;
    background: url("img/index/bg02.png") no-repeat right top #65AADD;
    background-size: auto 100%;
}

@media all and (min-width: 768px) {
    .index .newsBox .sub a:hover {
        color: #c73c43;
    }
    .index .newsBox .sub a:hover dd span {
        text-decoration: underline;
    }
}

@media all and (max-width: 767px) {
    .index {
        margin-top: -36px;
    }
    .index .newsBox .sub {
        width: auto;
    }
    .index .newsBox .sub dd {
        padding-left: 6em;
    }
    .index .txtP {
        font-size: 2rem;
    }
    .index .blueBox .mainBox {
        display: block;
        padding-bottom: 20px;
    }
    .index .blueBox .mainBox .lBox {
        width: auto;
        text-align: center;
    }
    .index .blueBox .mainBox .rBox {
        margin: 20px 0 0;
        width: auto;
    }
    .index .blueBox .mainBox .lBox .ttl {
        margin: 0 20px -20px;
    }
    .index .blueBox {
        margin-bottom: 30px;
    }
    .index .info {
        padding-top: 7px;
        width: auto;
    }
    .index .info .ttl {
        font-size: 1.7rem;
    }
    .index .info .infoUl {
        display: block;
    }
    .index .info .infoUl li {
        width: auto;
        margin: 0 0 10px !important;
    }
    .index .mainBox {
        margin-bottom: 0;
    }
    .index .info .inner {
        margin-right: 0;
    }
}

/*------------------------------------------------------------
	price
------------------------------------------------------------*/
.price .txt {
    margin: 2px 0 47px;
    font-size: 1.1rem;
    line-height: 1.4;
    text-align: center;
}
.price .inner {
    margin: 0 -5px 28px 0;
    padding: 15px 10px 14px 15px;
    border: 2px solid #A48B78;
    border-radius: 20px;
}
.price .inner .sub {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
}
.price .inner .lBox {
    width: 33px;
    border: 1px solid #595757;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
.price .inner .lBox p {
    font-size: 2.2rem;
    font-weight: 400;
}
.price .inner .rBox {
    width: 733px;
}
.price .inner .list {
    display: flex;
    flex-wrap: wrap;
}
.price .inner .list li {
    margin-right: 11px;
    padding: 3px 7px 6px;
    font-weight: 400;
    font-size: 1.556rem;
    text-align: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #A48B78;
    box-sizing: border-box;
}
.price .inner .list li:last-child {
    margin-right: 0;
}
.price .inner .list .style01 {
    margin-right: 8px;
    width: 118px;
    padding-bottom: 0;
    background-color: #A48B78;
    color: #fff;
    border-radius: 10px 10px 0 0;
    box-sizing: border-box;
    border: none !important;
}
.price .inner .list .style01 .txtSpan {
    padding-bottom: 6px;
    width: 100%;
    display: block;
    border-bottom: 1px solid #fff;
}
.price .inner .list .style02 {
    width: 148px;
}
.price .inner .list .style03 {
    width: 130px;
}
.price .inner .list .style04 {
    width: 65px;
}
.price .inner .list .style05 {
    width: 225px;
}
.price .inner .list02 li {
    padding-top: 8px;
    padding-bottom: 8px;
    border: none;
}
.price .inner .list02 li:before {
	height: 1px;
    border-bottom: 1px dashed #A48B78;
	position: absolute;  
	bottom: 0;
	right: 0; 
    left: 0;
	content: ""; 
}
.price .inner .list02 .style01 {
    padding-top: 0;
    border-radius: 0;
    border-width: 1px;
    line-height: 1.1;
}
.price .inner .list02 .style01:before {
    border-color: #fff;
	right: 7px; 
    left: 7px;
}
.price .inner .list02 .style06:before {
    left: 55px;
}
.price .inner .list02 .style02 {
    color: #E60012;
    font-size: 2.5rem;
}
.price .inner .list02 .priceTxt {
    font-size: 1.924rem;
}
.price .inner .list02 .style02 .txtSpan01 {
    font-size: 2.5rem;
    display: inline-block;
    vertical-align: -2px;
}
.price .inner .list02 .style03 {
    font-size: 2.5rem;
}
.price .inner .list02 .style03 .txtSpan01 {
    font-size: 2.5rem;
    vertical-align: -2px;
}
.price .inner .list02 .style04 {
    font-size: 2.5rem;
}
.price .inner .list02 li:after {
	width: 1px;  
    background-color: #A48B78;
	position: absolute;  
	top: 0;
    bottom: 0;
	right: -5px;  
	content: ""; 
}
.price .inner .list03 li:after {
    top: 8px;
}
.price .inner .list02 li:last-child:after,
.price .inner .list02 li:first-child:after {
    display: none;
}
.price .inner .list02 .style05 {
    padding-left: 15px;
    padding-right: 4px;
    justify-content: flex-start;
    text-align: left;
    line-height: 1.2;
}
.price .inner .list:last-child li:before {
    display: none;
}
.price .inner .list:last-child .style01 {
    border-radius: 0 0 10px 10px;
}
.price .inner .list02 .style06 {
    width: 165px;
    margin-left: -47px;
    border-radius: 10px 0 0 10px;
}
.price .inner .lBox02 {
    margin-top: 93px;
}
.price .inner .none {
    border: none;
}
.price .inner .list .wid01 {
    width: 115px;
}
.price .inner .list .wid02 {
    width: 476px;
}
.price .inner .list02 .wid01 {
    width: 115px;
}
.price .inner .list02 .wid02 {
    width: 476px;
}
.price .inner .list02 .subUl {
    padding-top: 2px;
    width: 100%;
    text-align: left;
    display: flex;
    flex-wrap: wrap;
}
.price .inner .list02 .subUl li {
    padding: 4px 0 4px 3px;
    font-weight: 300;
    border: none;
    font-size: 1.9rem;
    line-height: 1.4;
    text-align: left;
}
.price .inner .list02 .subUl li:before,
.price .inner .list02 .subUl li:after {
    display: none;
}
.price .inner .list02 .subUl li .txtSpan02 {
    margin-right: 2px;
    padding: 0 11px;
    display: inline-block;
    color: #fff;
    background-color: #595757;
    border-radius: 13px;
}
.price .inner .wid03 {
    width: 197px !important;
}
.price .innerBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.price .innerBox .inner {
    width: 396px;
    box-sizing: border-box;
}
.price .innerBox .inner .rBox {
    width: 324px;
}
.price .blueBox {
    margin: 0 auto 46px;
    width: 540px;
    padding: 11px;
    box-sizing: border-box;
    background-color: #65AADD;
}
.price .blueBox .sub {
    padding: 6px 8px 20px;
    position: relative;
    min-height: 279px;
    box-sizing: border-box;
    border: 1px solid #fff;
}
.price .blueBox .sub p {
    font-size: 1.8rem;
    color: #fff;
    line-height: 1.77;
    letter-spacing: -0.3px;
}
.price .blueBox .sub p .txtSpan {
    font-weight: 500;
    color: #FFF100;
}
.price .blueBox .sub .photo {
    position: absolute;
    bottom: 0;
    right: 8px;
}
.price .txt02 {
    margin: 0 auto 15px;
    padding: 7px 2px 13px;
    width: 510px;
    font-size: 2.1rem;
    color: #fff;
    font-weight: 500;
    box-sizing: border-box;
    text-align: center;
    background-color: #D7000F;
}
.price .comBtn01 {
    margin-bottom: 44px;
}
@media all and (min-width: 768px) and (max-width: 1024px) {
}

@media all and (max-width: 767px) {
    .price .inner {
        margin-left: 0;
        margin-right: 0;
    }
    .price .blueBox {
        width: auto;
    }
    .price .blueBox .sub p {
        font-size: 1.4rem;
    }
    .price .blueBox .sub .photo {
        width: 20%;
    }
    .price .txt02 {
        width: auto;
        padding-top: 10px;
        padding-bottom: 10px;
        font-size: 1.4rem;
    }
    .price .inner {
        overflow-x: scroll;
    }
    .price .inner .sub {
        width: 790px;
    }
    .price .inner .rBox {
        margin-right: 10px;
    }
    .price .inner .lBox p {
        font-size: 1.6rem;
    }
    .price .inner .list li {
        font-size: 1.3rem;
    }
    .price .inner .list02 .style04,
    .price .inner .list02 .priceTxt {
        font-size: 1.6rem;
    }
    .price .inner .list02 .style03 .txtSpan01,
    .price .inner .list02 .style02 .txtSpan01 {
        font-size: 2rem;
    }
    .price .innerBox {
        display: block;
    }
    .price .innerBox .inner {
        width: auto;
        overflow-x: inherit;
    }
    .price .innerBox .inner .sub {
        width: auto;
        justify-content: flex-start;
    }
    .price .innerBox .inner .rBox {
        width: calc(100% - 15px - 18px);
        margin-right: 0;
        box-sizing: border-box;
        padding-left: 15px;
    }
    .price .innerBox .list .style01 {
        width: 42%;
    }
    .price .innerBox .list .style02 {
        width: 53% !important;
    }
}

/*------------------------------------------------------------
	campaign
------------------------------------------------------------*/
.campaign {
    margin-bottom: 40px;
}
.campaign .comTtl {
    margin-bottom: 51px;
    padding-bottom: 12px;
}
.campaign .photo {
    margin-bottom: 34px;
    text-align: center;
}
.campaign .campaignDl {
    margin: 0 0 39px 40px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.campaign .campaignDl dt {
    width: 238px;
    font-size: 4rem;
    color: #E60012;
    font-weight: 500;
    line-height: 1;
    align-items: center;
    text-align: center;
    letter-spacing: -2px;
}
.campaign .campaignDl dd {
    width: 490px;
    padding-left: 10px;
    box-sizing: border-box;
    line-height: 1.6;
    border-left: 2px solid #595757;
}
.campaign .campaignDl dd .txtSpan {
    display: inline;
    position: relative;
    background: url("img/campaign/bg.png") repeat-x left bottom;
    background-size: auto 7px;
}
.campaign .campaignDl dd ul li {
    text-indent: -1em;
    padding-left: 1em;
}

@media all and (max-width: 767px) {
    .campaign .campaignDl {
        display: block;
        margin: 0 0 40px;
    }
    .campaign .campaignDl dt {
        width: auto;
        text-align: center;
        margin: 0 0 10px;
        font-size: 3rem;
    }
    .campaign .campaignDl dd {
        width: auto;
        padding: 10px 0 0;
        border-left: none;
        border-top: 2px solid #595757;
    }
}

/*------------------------------------------------------------
	detail
------------------------------------------------------------*/
.detailBox {
    margin-bottom: 120px;
}
.detailBox .comTtl {
    padding-bottom: 12px;
}
.detailBox .detailUl {
    margin-bottom: 39px;
    padding: 16px 0 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    border-bottom: 2px dashed #595757;
}
.detailBox .detailUl li {
    margin: 0 5px 5px;
    width: 100px;
}
.detailBox .detailUl li a {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    font-size: 1.1rem;
    color: #C7000B;
    font-weight: 700;
    border: 1px solid #C7000B;
    border-radius: 5px;
}
.detailBox .detailUl li a:hover {
    opacity: 0.7;
}
.detailBox .detailUl li .img {
    width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #C7000B;
}
.detailBox .detailUl li .txt {
    padding: 1px 2px 3px;
    width: 78px;
    box-sizing: border-box;
    text-align: center;
}
.detailBox .detailUl .style {
    width: 184px;
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    border: 1px solid #595757;
    border-radius: 5px;
}
.detailBox .detailUl .style form {
	display: flex;
}
.detailBox .detailUl .style .img {
    background-color: #595757;
}
.detailBox .detailUl .style .img i {
    color: #fff;
    cursor: pointer;
    font-size: 1.4rem;
	position: relative;
}
.detailBox .detailUl .style .img i input[type="submit"] {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	opacity: 0;
	cursor: pointer;
}
.detailBox .detailUl .style input[type="text"] {
    border: none;
    width: 80%;
    padding: 0 5px;
    height: 20px;
    box-sizing: border-box;
}
.detailBox .photo {
    margin-bottom: 18px;
    text-align: center;
}
.detailBox .sub {
    margin-bottom: 43px;
    padding-bottom: 50px;
    border-bottom: 2px dashed #595757;
}
.detailBox .ttlBox {
    margin: 0 5px 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.detailBox .ttlBox h2 {
    font-size: 2.4rem;
    color: #65AADD;
    font-weight: 700;
}
.detailBox .ttlBox dl {
    margin: 8px 5px 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.detailBox .ttlBox dt {
    margin-right: 14px;
    font-size: 1.7rem;
    color: #A1CBED;
    font-family: 'Barlow Condensed', sans-serif
}
.detailBox .ttlBox dd {
    font-size: 1.2rem;
    color: #C7000B;
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    border: 1px solid #C7000B;
    border-radius: 5px;
}
.detailBox .ttlBox dd .img {
    width: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #C7000B;
}
.detailBox .ttlBox dd .txt {
    padding: 1px 2px 3px;
    width: 85px;
    box-sizing: border-box;
    text-align: center;
}
.detailBox .sub p {
    margin: 0 10px 20px; 
    line-height: 1.43;
}
.detailBox .sub p:last-child {
    margin-bottom: 0;
}
.detailBox .wp-pagenavi {
    margin-top: -24px;
}

@media all and (max-width: 767px) {
    .detailBox {
        margin-bottom: 50px;
    }
    .detailBox .ttlBox {
        display: block;
    }
    .detailBox .detailUl li {
        margin-left: 2px;
        margin-right: 2px;
    }
}

/*------------------------------------------------------------
	comTable
------------------------------------------------------------*/
.comTable {
	width: 100%;
	border-collapse: collapse;
}
.comTable th,
.comTable td {
	padding: 12px 0;
	text-align: left;
	font-weight: 500;
	vertical-align: middle;
}
.comTable th {
	width: 231px;
}
.comTable td {
	font-size: 1.5rem;
}

/*------------------------------------------------------------
	news
------------------------------------------------------------*/
.news {
    margin-bottom: 90px;
}
.news .comTtl {
	margin-bottom: 33px;
	padding-bottom: 11px;
}
.news .comList {
	padding: 0 17px 34px;
	border-bottom: 2px dashed #595757;
}
@media all and (max-width: 767px) {
	.news .comList {
		padding: 0 10px 34px;
	}
}
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
form {
    margin-top: -91px;
    padding-top: 91px;
}
.contact .comTtl {
	margin-bottom: 33px;
	padding-bottom: 12px;
}
.contact .tableBox {
	padding: 34px 79px 36px 56px;
	background-color: #f5f3f0;
}
.contact .comTable input,
.contact .comTable textarea,
.contact .comTable select {
	font-size: 1.5rem;
}
.contact .comTable input[type="email"],
.contact .comTable input[type="text"],
.contact .comTable input[type="tel"],
.contact .comTable textarea,
.contact .comTable select {
	padding-left: 7px;
	width: 100%;
	height: 34px;
	background-color: #fff;
	box-sizing: border-box;
	border: 1px solid #595757;
	appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-webkit-appearance: none;
	border-radius: 0;
}
.contact .comTable select {
	width: 132px;
	background: #fff url(img/contact/select_bg.png) no-repeat right 7px center;
	background-size: 15px auto;
}
select::-ms-expand {
	display: none;
}
.contact .comTable textarea {
	padding: 7px;
	height: 260px;
}
.contact .comTable input.wid01 {
	width: 313px;
}
.contact .comTable .topStyle {
	vertical-align: top;
}
.contact .comTable .typeUl {
	margin: -9px 10px 0 0;
}
.contact .comTable .typeUl .wpcf7-form-control-wrap,
.contact .comTable .typeUl .wpcf7-form-control {
	display: block;
	overflow: hidden;
}
.contact .comTable .typeUl .wpcf7-form-control .wpcf7-list-item {
	margin: 5px 0 0 0;
	width: 100px;
	float: left;
}
.contact .comTable .typeUl .wpcf7-form-control .wpcf7-list-item.first {
	display: none;
}
.contact .comTable .typeUl .wpcf7-form-control .wpcf7-list-item:nth-child(3n) {
	width: 131px;
}
.contact .comTable .typeUl .wpcf7-form-control .wpcf7-list-item input[type="radio"] {
    display: none;
	padding: 0;
	height: 29px;
	width: 29px;
	vertical-align: middle;
}
.contact .comTable .typeUl .wpcf7-form-control .wpcf7-list-item input[type="radio"] ~ span {
	background: url(img/contact/input_bg01.png) no-repeat left 4px;
	background-size: 29px 29px;
    display: block;
    line-height: 29px;
    padding: 4px 0 4px 36px;
}
.contact .comTable .typeUl .wpcf7-form-control .wpcf7-list-item input[type="radio"]:checked ~ span {
	background: url(img/contact/input_bg02.png) no-repeat left 4px;
	background-size: 29px 29px;
}
.contact .submit {
	margin-top: 47px;
	text-align: center;
}
.contact .submit .ajax-loader {
	display: none;
}
.contact .submit li {
	margin: 0 10px;
	display: inline-block;
}
.contact .submit input {
    padding: 7px 8px 9px;
    width: 175px;
    color: #fff;
    font-size: 1.536rem;
    font-weight: 500;
    line-height: 1;
    border-radius: 50px;
    text-align: center;
    box-sizing: border-box;
    border: 2px solid #5893c0;
    background: url(img/common/btn_bg03.jpg) repeat left top;
    background-size: 7px auto;
    display: block;
	cursor: pointer;
    box-sizing: border-box;
	-webkit-transition: .3s;
	-moz-transition: .3s;
	-ms-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.contact .comTable {
	font-size: 1.8rem;
}
.contact .thanksBox {
    min-height: 250px;
    text-align: center;
}
.contact .thanksBox p {
    margin-bottom: 20px;
}
@media all and (min-width: 768px) {
	.contact .submit input:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 767px) {
    form {
        margin-top: -63px;
        padding-top: 63px;
    }
	.contact .comTable th,
	.contact .comTable td {
		width: 100%;
		float: left;
	}
	.contact .tableBox {
		padding: 30px 15px;
	}
	.contact .comTable input.wid01 {
		width: 80%;
	}
	.contact .comTable .typeUl {
		margin: -9px 0 0 0;
	}
	.contact .comTable .typeUl .wpcf7-form-control .wpcf7-list-item:nth-child(3n) {
		width: 114px;
	}
	.contact .comTable {
		font-size: 1.5rem;
	}
	.contact .comTable td,
	.contact .comTable input,
	.contact .comTable textarea,
	.contact .comTable select {
		font-size: 1.3rem;
	}
	.contact .comTable th {
		padding: 0;
	}
	.contact .comTable .typeUl .wpcf7-form-control .wpcf7-list-item input[type="radio"] ~ span,
	.contact .comTable .typeUl .wpcf7-form-control .wpcf7-list-item input[type="radio"]:checked ~ span {
		padding: 4px 0 4px 31px;
		background-size: 25px 25px;
		background-position: left 6px;
	}
	.contact .submit {
		margin-bottom: 30px;
	}
	.contact .submit li {
		margin: 0 0 15px;
		display: block;
	}
	.contact .submit li:last-child {
		margin-bottom: 0;
	}
	.contact .submit input {
		margin: 0 auto;
	}
	.contact .thanksBox {
        min-height: inherit;
    }
}