@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/

html,body{	height:100%;}
html{
	font-size:62.5%;
    overflow-y: scroll;
}
html { scroll-behavior: smooth;}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	text-align: left;
	color:#333;
	font-size: 1.6rem;
	line-height: 1.6;
}
h1 {
	text-align: center;
	width: 100%;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

body a {
	text-decoration:none;
	color:#000;
}
body{
	min-width:1080px;
}

img{
	vertical-align: bottom;
	max-width: 100%;
}

*,*:after,*:before{
	box-sizing: border-box;
}

.fade:hover{
	opacity: 0.7;
}
.fade{
	transition: opacity 0.3s ease-out;
}

.wrap{
	width: 995px;
	margin: 0 auto;
}

.mincho,.mincho *{
	 font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
}

/*
    header
------------------------------ */

header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.8); /* 背景のみ半透明 */
	z-index: 999;
	height: 100px;
}
header .wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 22px 0;
}
header .logo a{
	display: block;
}
header .logo img{
	width: 340px;
}
header .logo .txt{
	font-size: 1.4rem;
	letter-spacing: -0.05em;
	display: block;
	margin-top: 5px;
}
header .gnav{
	display: flex;
}
header .gnav li+li{
	margin-left: 1.2em;
}
header .gnav li a:hover{
	text-decoration: underline;
}

/*
    main共通
------------------------------ */

main{
	padding-top: 100px;
	display: block;
}

.ttl01{
	font-size: 3.7rem;
	line-height: 1.4;
	text-align: center;
	font-weight: bold;
	color: #1c4f86;
}
.ttl02{
	text-align: center;
}
.ttl02 .in{
	font-size: 2.8rem;
	color: #fff;
	font-weight: bold;
	display: inline-block;
	border-bottom: 1px solid #fff;
}
.ttl03{
	font-size: 2.8rem;
	text-align: center;
	color: #1c4f86;
	font-weight: bold;
}
.ttl04{
	font-size: 2.8rem;
	text-align: center;
	color: #1c4f86;
	font-weight: bold;
}
.ttl05{
	font-size: 2.8rem;
	text-align: center;
	color: #fff;
	font-weight: bold;
}
.txtblue{
	color:#1c4f86;
	font-weight: bold;
}
.secblue{
	background: #1c4f86;
}
.secbeige{
	background: rgba(245,237,216,1);
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.6) 40%, rgba(245, 237, 216, 1) 80%);
}
.secbeige2{
	background: rgba(245,237,216,1);
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.6) 40%, rgba(245, 237, 216, 1) 80%);
}
.secbrown{
	background: #c39665;
}
.mark01{
	background: url(https://taishoku-daiko.org/img/mark_bg01.png) repeat-x left bottom / 570px;
}
.ie .mark01{
	background-position: left bottom 8px;
}
.mark02{
	background: url(https://taishoku-daiko.org/img/mark_bg02.png) repeat-x left bottom / 570px;
}
.ie .mark02{
	background-position: left bottom 10px;
}

.ul{
	text-decoration: underline;
}

.btn-border-bottom {
  position: relative;
  display: inline-block;
  font-weight: bold;
  padding: 0.25em 0;
  text-decoration: none;
  color: #67c5ff;  
}

.btn-border-bottom:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 4px;
  top:100%;
  left: 0;
  border-radius: 3px;
  background:#67c5ff;
  transition: .2s;
}
.btn-border-bottom:hover:before {
  top: -webkit-calc(100% - 3px);
  top: calc(100% - 3px);
}
.highlight {
  font-weight: bold;
  color:#1c4f86;
  text-decoration: underline; /* 下線 */
  text-decoration-thickness: 0.5em; /* 線の太さ */
  text-decoration-color: rgba(255, 228, 0, 0.4); /* 線の色 */
  text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
  text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
}
.big {
  font-size: 120% !important;
}
.small {
  font-size: 120% !important;
}
.huto {
  font-weight: bold;
}

/*
    矢印
------------------------------ */
/* .triangle {
  width: 0;
  height: 0;
  border-right: 60px solid transparent;
  border-left: 60px solid transparent;
  border-top: 50px solid #1c4f86;
  border-top: 50px solid #fff;
} */

/*
    listチェック
------------------------------ */
.list_check {
    padding: 0px;
    margin: 0px;
    list-style: none;
}

.list_check > li {
    position: relative;
    padding: 0px 0px 0px 2em;
    margin: 0px;
    font-size: 18px;
}
.list_check > li::before,
.list_check > li::after {
    position: absolute;
    top: 50%;
    height: 1em;
    content: "";
}
.list_check > li::before {
    left: 0px;
    transform: translateY(-50%);
    width: 1em;
    border: 2px solid #000;
    left: -0.5rem !important;
}
.list_check > li::after {
    left: 0.5em;
    transform: translateY(-75%) rotate(45deg);
    width: 0.5em;
    border-bottom: 4px solid #ff0000;
    border-right: 4px solid #ff0000;
    left: 0.5rem !important;
}
.list_check > li + li {
    margin: 1em 0px 0px;
}



/*
    #mv
------------------------------ */

#mv{
	padding: 67px 0 135px 200px;;
	background: url(../img/mv_bg01.jpg) no-repeat center center / cover;
}
#mv .ttl{
	width: 781px;
	margin: auto;
}


/*
    .opt
------------------------------ */

.opt{
	max-width: 940px;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.15);
	background: rgba(239,239,239,0.9);
	padding: 25px 30px;
	margin: auto;
	margin-top: -15px !important;
}
.opt .optflexbox{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 15px;
}
.opt .opttxt{
	text-align: center;
	font-size: 140%;
	margin-bottom: 35px;
}
.opttxt2 {
	text-align: center;
	font-weight: bold;
	font-size: 150%;
	margin-top: 35px;
	color: #288541;
	color: #444;
}
.opt .optimg{
	width: 154px;
}
.opt .opttel{
	width: 275px;
}
.opt .optline{
	width: 60px;
}
.opt .optbtn{
	width: 330px;
}
.opt .optbtn a{
	font-size: 1.7rem;
	font-weight: bold;
	letter-spacing: 0.15em;
	color: #fff;
	line-height: 60px;
	height: 60px;
	padding: 0 30px;
	display: block;
	background: #f15a24 url(../img/opt_icon01.png) no-repeat;
	background-position: right 20px center;
	background-size: 19px;
}
.fa-size {
    font-size:1.35em; /*1.35倍にする*/
}
.ie .opt .optbtn a{
	padding-top: 3px;
}


/*
    #sec01
------------------------------ */

#sec01{
	position: relative;
	background: rgba(245,237,216,1);
	background-image: radial-gradient(circle, rgba(255, 255, 255, 0.6) 40%, rgba(245, 237, 216, 1) 80%);
}
#sec01::after{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: calc(50% - 497px);
	height: 100%;
	z-index: -1;
}
#sec01 .wrap{
	position: relative;
}
#sec01 .bg{
	position: relative;
	overflow: hidden;
	padding: 200px 0 45px;
}
#sec01 .bg::after{
	content: '';
	position: absolute;
	top: 50%;
	right: -9%;
	width: 50%;
	height: 200%;
}
#sec01 .txt{
	text-align: center;
	margin-top: 28px;
}
#sec01 .opt{
	position: absolute;
	top: -65px;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 1;
}
#sec01 .lasttxt{
	font-size: 3rem;
	line-height: 1.7;
	color: #1c4f86;
	font-weight: bold;
	text-align: center;
	margin-top: 45px;
}


/*
    #sec02
------------------------------ */

#sec02{
	padding: 79px 0 79px;
	background: url(../img/sec02_bg01.png) no-repeat left center / auto 100%;
}
#sec02 .txtwrap{
	max-width: 540px;
	margin-left: auto;
}
#sec02 .list li{
	font-size: 2.1rem;
	font-weight: 500;
	padding-left: 30px;
	position: relative;
}
#sec02 .list li+li{
	margin: 11px 0 0;
}
#sec02 .list li::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	background: url(../img/sec03_icon01.png) no-repeat center center / contain;
}
#sec02 .list li .st{
	font-size: 1.15em;
	color: #1c4f86;url("../img/sec03_icon01.png")
	text-decoration: underline;
	font-weight: bold;
	text-decoration: underline; /* 下線 */
	text-decoration-thickness: 0.5em; /* 線の太さ */
	text-decoration-color: rgba(255, 228, 0, 0.4); /* 線の色 */
	text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
	text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
}
#sec02 .lasttxt{
	font-size: 3rem;
	line-height: 1.4;
	color: #1c4f86;
	font-weight: bold;
	margin-top: 45px;
}


/*
    #about
------------------------------ */

#about{
	padding: 85px 0 95px;
}
#about .txt{
	font-size: 2.4rem;
	line-height: 1.4;
	color: #333;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 10px;
}
#about .txt2{
	font-size: 2.6rem;
	text-align: center;
	margin-bottom: 10px;
}
#about .ttl04{
	font-size: 3.7rem;
	font-weight: bold;
	margin-top:0px;
}
#about .subttl{
	text-align: center;
	margin-top: 0px;
	margin-bottom: 10px;
}
#about .subttl .in{
	font-size: 3rem;
	font-weight: bold;
	color: #1c4f86;
	padding: 0 40px;
	display: inline-block;
}
.ie #about .subttl .in{
	padding-top: 8px;
}
#about .txt3{
	text-align: center;
	font-size: 2rem;
	padding: 40px;
	display: inline-block;
}


/*
    #sec03
------------------------------ */

#sec03{
	padding: 90px 0 95px;
	background-image: radial-gradient(circle, rgba(195, 150, 101, 0.95) 40%, rgba(195, 150, 101, 0.95) 80%);
}
#sec03 .ttl05{
	font-size: 3.4rem;
}
#sec03 .img{
	max-width: 674px;
	margin: 40px auto 0;
}
#sec03 .txt{
	text-align: center;
	color: #fff;
	margin-top: 25px;
}


/*
    #sec04
------------------------------ */

#sec04{
	padding: 90px 0;
}
#sec04 .wrap{
	width: 1001px;
}
#sec04 .ttl05{
	font-size: 3.7rem;
	color: #1c4f86;
}
#sec04 .subttl{
	text-align: center;
	margin-bottom: 45px;
}
#sec04 .subttl .in{
	font-size: 2.8rem;
	color: #fff;
	padding: 5px 20px;
	display: inline-block;
	background: #1c4f86;
}
#sec04 .img{
	max-width: 1001px;
	margin-top: 35px;
}
#sec04 .txt{
	font-size: 2.4rem;
	line-height: 1.7;
	color: #333;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
}
#sec04 .lasttxt{
	font-size: 2.4rem;
	line-height: 1.7;
	color: #333;
	text-align: center;
	margin-top: 45px;
}


/*
    #sec05
------------------------------ */

#sec05{
	padding: 85px 0 95px;
}
#sec05 .txt2{
	font-size: 2.6rem;
	text-align: center;
	margin-bottom: 10px;
}
#sec05 .ttl03{
	font-size: 3.7rem;
	font-weight: bold;
}
#sec05 .ttl04{
	font-size: 3.7rem;
	font-weight: bold;
	margin-top:150px;
}
#sec05 .subttl{
	text-align: center;
	margin-top: 45px;
}
#sec05 .subttl .in{
	font-size: 2.8rem;
	color: #fff;
	padding: 0 40px;
	display: inline-block;
	background: #1c4f86;
}
.ie #sec05 .subttl .in{
	padding-top: 8px;
}
#sec05 .subttl2{
	text-align: center;
	margin-top: 0px;
	margin-bottom: 40px;
}
#sec05 .subttl2 .in{
	font-size: 3rem;
	font-weight: bold;
	color: #1c4f86;
	padding: 0 40px;
	display: inline-block;
}
.ie #sec05 .subttl2 .in{
	padding-top: 8px;
}
#sec05 .txt3{
	font-size: 2rem;
	padding: 40px;
	display: inline-block;
}
#sec05 .boxlist{
	box-shadow: 5px 5px 5px rgba(0,0,0,0.15);
	margin: 45px auto 0;
	background: #fff;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#sec05 .boxlist li{
	width: 33.333%;
	border-left: 2px solid rgba(28,79,134,0.11);
	padding: 42px 10px 42px;
	background: rgba(245,208,118,0.2);
}
#sec05 .boxlist li:nth-child(n+4){
	border-top: 2px solid rgba(28,79,134,0.11);
}
#sec05 .boxlist li .boxttl{
	text-align: center;
}
#sec05 .boxlist li .boxttl span{
	font-size: 2.2rem;
	color: #1c4f86;
	font-weight: bold;
	display: inline-block;
	border-bottom: 1px solid #1c4f86;
}
#sec05 .boxlist li .img{
	max-width: 104px;
	margin: 25px auto 0;
}
#sec05 .boxlist li .txt{
	text-align: center;
	margin-top: 25px;
}
#sec05 .boxlist li .txt .small{
	font-size: 1.4rem;
}


/*
    #sec052
------------------------------ */

#sec052{
	padding: 60px 0 20px;
}
#sec052 .ttl04{
	font-size: 3.7rem;
	font-weight: bold;
	margin-top:25px;
	margin-bottom:20px;
}
#sec052 .txt3{
	font-size: 2rem;
	padding: 40px;
	display: inline-block;
}



/*
    #sec06
------------------------------ */

#sec06{
	padding: 29px 0;
	background: #efefef;
}
#sec06 .opt{
	box-shadow: none;
}



/*
    #sec07
------------------------------ */

#sec07{
	padding: 90px 0 0;
}
#sec07 .bg{
	position: relative;
}
#sec07 .bg::after{
	content: '';
	position: absolute;
	top: 50px;
	left: 0;
	width: calc(50% - 497px);
	height: calc(100% - 50px);
	background: rgba(28,79,134,0.11);
	z-index: -1;
}
#sec07 .bg .wrap{
	overflow: hidden;
	position: relative;
	background-color: #fff;
	padding-bottom: 10px;
}
#sec07 .bg .wrap::after{
	content: '';
	position: absolute;
	top: 50px;
	left: 0;
	width: 73%;
	height: calc(100% - 50px);
	background: rgba(28,79,134,0.11);
}
#sec07 .ttl03{
	font-size: 4.2rem;
	font-weight: bold;
}
#sec07 .subttl{
	text-align: center;
	margin-top: 45px;
	margin-bottom: 40px;
}
#sec07 .subttl .in{
	font-size: 2.8rem;
	color: #fff;
	padding: 0 40px;
	display: inline-block;
	background: #cdb581;
}
.ie #sec07 .subttl .in{
	padding-top: 8px;
}
#sec07 .boxlist li{
	display: flex;
	align-items: flex-end;
	position: relative;
	z-index: 1;
}
#sec07 .boxlist li+li{
	margin-top: 35px;
}
#sec07 .boxlist li .img{
	width: 601px;
}
#sec07 .boxlist li .txtwrap{
	width: 535px;
	background-color: #cdb581;
	background-image: url(../img/sec07_num01.png);
	background-repeat: no-repeat;
	background-size: 110px;
	background-position: right 25px top 25px;
	padding: 45px 35px 45px;
	margin-bottom: 65px;
	position: relative;
	z-index: 1;
}
#sec07 .boxlist li .txtwrap .boxttl{
	font-size: 3.4rem;
	margin-bottom: 2vw;
	color: #fff;
}
#sec07 .boxlist li .txtwrap .txt{
	color: #fff;
	letter-spacing: -0.05em;
	font-size: 110%;
}
#sec07 .boxlist li:nth-child(even) {
	flex-direction: row-reverse;
}
#sec07 .boxlist li:nth-child(odd) .txtwrap{
	margin-left: -140px;
}
#sec07 .boxlist li:nth-child(even) .txtwrap{
	margin-right: -140px;
}
#sec07 .boxlist li.box02 .txtwrap{
	background-image: url(../img/sec07_num02.png);
}
#sec07 .boxlist li.box03 .txtwrap{
	background-image: url(../img/sec07_num03.png);
}
#sec07 .boxlist li.box04 .txtwrap{
	background-image: url(../img/sec07_num04.png);
}


/*
    #sec08
------------------------------ */

#sec08{
	padding: 95px 0 95px;
	position: relative;
}
#sec08 .ttl{
	padding-top: 30px;
	max-width: 400px;
	margin: auto;
}
#sec08 .txt{
	font-size: 3.2rem;
	color: #1c4f86;
	font-weight: bold;
	margin-top: 15px;
	text-align: center;
}


/*
    #sec09
------------------------------ */

#sec09{
	padding: 90px 0 95px;
}
#sec09 .ttl05{
	font-size: 4.2rem;
	color: #1c4f86;
	margin-top: 20px;
}
#sec09 .ttl06{
	font-size: 4.2rem;
	color: #1c4f86;
	margin-top: 100px;
	margin-bottom: 15px;
	font-weight: bold;
	text-align: center;
}
#sec09 .list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 40px;
}
#sec09 .list li{
	width: 480px;
	padding: 32px 35px;
	border: 2px solid #c39665;
}
#sec09 .list li:nth-child(n+3){
	margin-top: 30px;
}
#sec09 .list li dl dt{
	font-size: 2.1rem;
	color: #1c4f86;
	font-weight: bold;
	padding-bottom: 13px;
	margin-bottom: 13px;
	border-bottom: 1px solid #1c4f86;
}
#sec09 .list li dl dd{
	font-weight: bold;
	color: #333;
}
#sec09 .txt3{
	font-size: 2.5rem;
	padding: 40px;
	display: inline-block;
}


/*
    #sec10
------------------------------ */

#sec10{
	padding: 90px 0 95px;
	background-image: radial-gradient(circle, rgba(195, 150, 101, 0.95) 40%, rgba(195, 150, 101, 0.95) 80%);
}
#sec10 .ttl05{
	font-size: 3.4rem;
}
#sec10 .img{
	max-width: 674px;
	margin: 40px auto 0;
}
#sec10 .txt{
	text-align: center;
	color: #fff;
	margin-top: 25px;
}


/*
    #sec11
------------------------------ */

#sec11{
	padding: 29px 0;
	background: #efefef;
}
#sec11 .opt{
	box-shadow: none;
}


	/*
	    #opinfo
	------------------------------ */

#opinfo{
		padding: 30px 0 50px;
		background: rgba(245,237,216,0.5);
	}



/*
    #contact
------------------------------ */

#contact{
	padding: 100px 0;
	position: relative;
}

#contact .opt{
	margin-bottom: 20px;
}
#contact .ttl04{
	font-size: 4.2rem;
	padding-top: 40px;
}
#contact .txt{
	font-size: 1.6rem;
	text-align: center;
    margin-top: 15px;
}
#contact .txt+.txt{
	margin-top: 10px;
}
#contact .tablewrap{
	width: 750px;
	margin: auto;
}
#contact .musttxt{
	font-size: 1.4rem;
	text-align: right;
    margin-top: 25px;
}
#contact .must{
	font-size: 1.2rem;
	color: #f15a24;
	font-weight: 400;
	vertical-align: top;
}
#contact .note{
	font-size: 100%;
}
#contact table{
	width: 100%;
	border-collapse: collapse;
}
#contact table th{
	font-size: 1.6rem;
	font-weight: bold;
	color: #1c4f86;
	width: 270px;
	padding-top: 26px;
	vertical-align: top;
}
#contact table th .must{
	margin-left: 5px;
}
#contact table td{
	width: calc(100% - 270px);
    padding: 17px 0;
}
#contact table td input[type="text"],
#contact table td textarea{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	padding: 0 10px;
	height: 40px;
	border: 2px solid #e0e0e0;
	width: 100%;
}
#contact table td textarea{
	padding: 10px 10px;
	min-height: 170px;
	resize: vertical;
}
#contact .submit{
	margin: 50px auto 0;
}
#contact .submit button{
	font-size: 1.7rem;
	font-weight: bold;
	letter-spacing: 0.15em;
	color: #fff;
	line-height: 60px;
	height: 60px;
	padding: 0 30px;
	display: block;
	background: #f15a24 url(../img/opt_icon01.png) no-repeat;
	background-position: right 20px center;
	background-size: 19px;
	cursor: pointer;
	width: 330px;
	margin: auto;
}
select {
	appearance: none;
	width: 100%;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
	border-radius: 6px;
	border: 2px solid #e0e0e0;
	color:#333;
	padding: 5px 10px;
	padding-right: 1em;
	outline: 0;
	background: #eee;
	text-indent: 0.01px;
}
.required::after {
content: "必須";
color: #ffffff;
background: #cc0000;
font-size: 0.8em;
padding: 0.3em;
border-radius: 0.5em;
margin-left:0.3em;
}
.ie #contact .submit button{
	padding-top: 3px;
}


/*
    #運営者案内
------------------------------ */

#profile{
	padding: 120px 0 75px;
	background: rgba(28,79,134,0.11) url(../img/prf_bg01.png) no-repeat left center / auto 100%;
}
#profile .txtwrap{
	width: 520px;
	margin-left: auto;
}
#profile .ttl04{
	font-size: 3.4rem;
	text-align: left;
}
#profile table{
	margin-top: 32px;
}
#profile table th,
#profile table td{
	padding: 4px 0;
	letter-spacing: -0.03em;
	vertical-align: top;
}
#profile table th{
	width: 95px;
}
#profile table td{
	width: calc(100% - 95px);
}


/*
    footer
------------------------------ */

footer{
	padding: 18px 0;
	background: #c39665;
}
footer .wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
footer .copy{
	font-size: 1.2rem;
	color: #fff;
}
footer .link{
	display: flex;
}
footer .link li{
	font-size: 12px !important;
}
footer .link li+li::before{
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 1px;
	height: 1em;
	background: #fff;
	margin: -2px 15px 0;
}
footer .link a{
	color: #fff;
}


/*
    confirm thanks
------------------------------ */

.confirm #contact,
.thanks #contact{
	padding-top: 50px;
}
.confirm #contact::before,
.thanks #contact::before{
	display: none;
}
.confirm #contact .ttl04,
.thanks #contact .ttl04{
	padding-top: 0;
}
.confirm #contact table{
	margin-top: 40px;
}
.confirm #contact .submit{
	display: flex;
	justify-content: center;
}
.confirm #contact .submit button.back{
	background: #aaa url(../img/opt_icon02.png) no-repeat;
	background-position: left 20px center;
    background-size: 19px;
	margin-right: 5px;
}
.thanks #contact .topbtn{
	width: 330px;
	margin: 40px auto 0;
}
.thanks #contact .topbtn a{
	font-size: 1.7rem;
	font-weight: bold;
	letter-spacing: 0.15em;
	color: #fff;
	line-height: 60px;
	height: 60px;
	padding: 0 30px;
	display: block;
	text-align: center;
	background: #f15a24 url(../img/opt_icon01.png) no-repeat;
	background-position: right 20px center;
	background-size: 19px;
}
.ie .thanks #contact .topbtn a{
	padding-top: 3px;
}


@media screen and (min-width: 767px) {

	.sp{
		display: none!important;
	}

}

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

	/*
	    #sec02
	------------------------------ */

	#sec02{
		background-position: 57% center;
	}
}


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

	/*
	    #運営者案内
	------------------------------ */

	#profile{
		background-position: center center;
	}


}




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

	.pc{
		display: none!important;
	}

	body{
		min-width: 1px;
	}
	img{
		width: 100%;
	}
	.wrap{
		width: 91%;
	}
	.mincho,.mincho *{
		 font-family: "Sawarabi Mincho", serif;
	}


	/*
	    header
	------------------------------ */

	header{
		height: 50px;
		background-color: rgba(255, 255, 255, 0.8); /* 背景のみ半透明 */
		z-index: 999;
	}
	header .wrap{
		width: 98%;
		margin-right: 0;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	header .logo{
		width: 65%;
		line-height: 1;
		max-width: 100%;
	}
	header .logo img{
		width: auto;
	}
	header .logo .txt{
		display: none;
	}
	header .spnav{
		display: flex;
		align-items: flex-start;
	}
	header .spnav .btn{
		width: 50px;
		height: 50px;
	}
	header .spnav .btn .icon{
		max-width: 21px;
		display: block;
		margin: auto;
		padding-top: 5px;
	}
	header .spnav .btn .txt{
		font-size: 1rem;
		text-align: center;
		color: #fff;
		font-weight: 700;
		margin-top: 2px;
	}
	header .spnav .line{
		background: #00b900;
	}
	header .spnav .line a{
		display: block;
		height: 100%;
	}
	header .spnav .mail{
		background: #f15a24;
	}
	header .spnav .mail a{
		display: block;
		height: 100%;
	}
	header .spnav .menu_btn{
		background: #cdb581;
	}
	header .spnav .menu_btn .menu-trigger {
		position: relative;
		top: 15px;
		width: 20px;
		height: 14px;
		margin: auto;
	}
	header .spnav .menu_btn .menu-trigger span {
		display: block;
		transition: all .4s;
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #fff;
		border-radius: 4px;
	}
	header .spnav .menu_btn .menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	header .spnav .menu_btn .menu-trigger span:nth-of-type(2) {
		top: 6px;
	}
	header .spnav .menu_btn .menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	header .spnav .menu_btn .txt{
		margin-top: 19px;
	}
	header .spnav .menu_btn.active .menu-trigger span:nth-of-type(1) {
		-webkit-transform: translateY(7px) rotate(-45deg);
		transform: translateY(7px) rotate(-45deg);
	}
	header .spnav .menu_btn.active .menu-trigger span:nth-of-type(2) {
		opacity: 0;
	}
	header .spnav .menu_btn.active .menu-trigger span:nth-of-type(3) {
		-webkit-transform: translateY(-5px) rotate(45deg);
		transform: translateY(-5px) rotate(45deg);
	}

	header nav{
		position: fixed;
		top: 49px;
		left: 0;
		width: 100%;
		background: #01aeaf;
		display: none;
	}
	header .gnav{
		display: block;
		padding: 20px 0;
		background: #cdb581;
	}
	header .gnav li{
		text-align: center;
	}
	header .gnav li+li{
		margin:  0;
	}
	header .gnav li a{
		font-size: 4vw;/*1.3rem*/
		text-align: center;
		color: #fff;
		display: inline-block;
		padding: 10px 10px;
		font-family: "Sawarabi Mincho", serif;
	}


	/*
	    main共通
	------------------------------ */

	main{
		padding-top: 49px;
		overflow: hidden;
	}

	.ttl01{
		font-size: 5.3vw;/*1.7rem*/
		font-weight: bold;
	}
	.ttl02 .in{
		font-size: 5.3vw;
		font-weight: normal;
	}
	.ttl03{
		font-size: 5.3vw;
		font-weight: normal;
	}
	.ttl04{
		font-size: 5.3vw;
		font-weight: normal;
	}
	.ttl05{
		font-size: 5.3vw;
		font-weight: bold;
	}

	.mark01{
		background-size: auto 1.8vw;
	}
	.mark02{
		background-size: auto 1.8vw;
	}

.secbeige{
	background-image: linear-gradient(90deg, rgba(245,237,216,1), rgba(255, 255, 255, 0.8) 50%, rgba(245,237,216,1));
}
.secbeige2{
	background: rgba(245,237,216,0.5);
}


/*
    矢印
------------------------------ */
.kakudo{
    left: 53%;
    top: 3%;
}

/*
    アンカー位置調整
------------------------------ */
a.anchor {
    display: block;
    padding-top: 80px;
    margin-top: -80px;
}

/*
    listチェック
------------------------------ */
.list_check > li::after {
    left: 0.3rem !important;
}


	/*
	    #mv
	------------------------------ */

	#mv{
		padding: 9.5vw 0 9.5vw 4%;
		background: url(../img/mv_bg01_sp.jpg) no-repeat center center / cover;
	}
	#mv .ttl{
		width: 100%;
	}


	/*
	    .opt
	------------------------------ */

	.opt{
		max-width: 100%;
		padding: 6% 6%;
		margin-top: 1.5vw !important;
	}
	.opt .optflexbox{
		display: block;
		margin-top: 2vw;
	}
	.opt .opttxt{
		font-size: 4.0vw;/*0.9rem*/
		text-align: center;
	}
	.opttxt2 {
	font-size: 4.8vw;
	}
	.opt .optimg,
	.opt .opttel,
	.opt .optline,
	.opt .optbtn{
		width: 100%;
		margin-top: 2.2vw;
	}
	.opt .opttel a,
	.opt .optline a,
	.opt .optbtn a{
		font-size: 3.8vw;/*1.2rem*/
		font-weight: normal;
		text-align: center;
		letter-spacing: 0.1em;
		color: #fff;
		line-height: 14vw;
		height: 14vw;
		padding: 0 8vw 0 3vw;
		display: block;
		background: #f15a24 url(../img/opt_icon01.png) no-repeat;
		background-position: right 5vw center;
		background-size: 4.5vw;
	}
	.opt .opttel a{
		background-color: #1c4f86;
		padding-top: 1.8vw;
	}
	.opt .opttel a .optnum{
		font-size: 6.2vw;/*2rem*/
		color: #fff;
		text-align: center;
		letter-spacing: 0.03em;
		line-height: 1;
	}
	.opt .opttel a .optnum .small{
		font-size: 3vw;/*1rem*/
	}
	.opt .opttel a .optopen{
		font-size: 2.3vw;/*0.8rem*/
		letter-spacing: 0;
		color: #fff;
		text-align: center;
		line-height: 1;
		margin-top: 1vw;
	}
	.opt .optline a{
		background-color: #00b900;
	}


	/*
	    #sec01
	------------------------------ */

	#sec01::after{
		width: calc(50vw - 45%);
	}
	#sec01 .wrap{
		position: relative;
	}
	#sec01 .bg{
		padding: 70vw 0 8vw;
	}
	#sec01 .bg::after{
		right: -65%;
		width: 100%;
		height: 200%;
	}
	#sec01 .txt{
		font-size: 3.8vw;
		text-align: left;
		margin-top: 5vw;
	}
	#sec01 .opt{
		top: -5.5vw;
	}
	#sec01 .lasttxt{
		font-size: 5.2vw;/*1.5rem*/
		margin-top: 7vw;
		font-weight: bold;
		text-align: center;
	}


	/*
	    #sec02
	------------------------------ */

	#sec02{
		padding: 0 0 11vw;
		background: none;
	}
	#sec02 .wrap{
		padding-top: 6vw;
	}
	#sec02 .txtwrap{
		max-width: 100%;
		margin: auto;
	}
	#sec02 .list li{
		font-size: 4.0vw;
		letter-spacing: -0.04em;
		font-weight: normal;
		padding-left: 4vw;
	}
	#sec02 .list li+li{
		margin: 2vw 0 0;
	}
	#sec02 .list li::before{
		width: 3.2vw;
		height: 3.2vw;
		top: 1.7vw;
		-webkit-transform: translateY(0);
	    transform: translateY(0);
	}
	#sec02 .lasttxt{
		font-size: 6.7vw;/*1.5rem*/
		margin-top: 9vw;
		font-weight: bold;
		text-align: center;
		line-height: 1.6;
	}


	/*
	    #about
	------------------------------ */

	#about{
		padding: 11vw 0;
	}
	#about .txt{
	margin-top: 20px;
}
	#about .txt2{
	font-size: 4.6vw;
	letter-spacing: -0.05em;
	width: 109%;
	margin-left: -4.5%;
}
	#about .ttl04{
		font-size: 6.0vw;
	}
	#about .subttl{
		margin-top: 2vw;
	}
	#about .subttl .in{
		font-size: 5.3vw;
		padding: 0 5vw;
	}
	#about .txt3{
		font-size: 1.9rem;
		padding: 40px 20px;
		display: inline-block;
	}


	/*
	    #sec03
	------------------------------ */

	#sec03{
		padding: 11vw 0 11vw;
		background-image: radial-gradient(circle, rgba(195, 150, 101, 0.95) 70%, rgba(195, 150, 101, 0.95) 95%);
	}
	#sec03 .ttl05{
		font-size: 5.3vw;
	}
	#sec03 .img{
		max-width: 100%;
		margin: 5vw auto 0;
	}
	#sec03 .txt{
		font-size: 3.8vw;
		text-align: left;
		margin-top: 3vw;
	}


	/*
	    #sec04
	------------------------------ */

	#sec04{
		padding: 11vw 0;
	}
	#sec04 .wrap{
		width: 94%;
	}
	#sec04 .ttl05{
		font-size: 5.8vw;
	}
#sec04 .subttl .in{
	font-size: 1.8rem;
}
	#sec04 .img{
		max-width: 100%;
		margin-top: 5vw;
		overflow-x: scroll;
	}
	#sec04 .img img{
		width: 100%;
		max-width: 100%;
	}
	#sec04 .txt{
		font-size: 4.5vw;
		margin-top: 5vw;
		width: 105%;
		margin-left: -2.5%;
		letter-spacing: -0.05em;
	}
	#sec04 .lasttxt{
		font-size: 4.7vw;/*1.5rem*/
		margin-top: 7vw;
		text-align: center;
		line-height: 1.7;
	}


	/*
	    #sec05
	------------------------------ */

	#sec05{
		padding: 11vw 0;
	}
	#sec05 .txt2{
	font-size: 4.6vw;
	letter-spacing: -0.05em;
	width: 109%;
	margin-left: -4.5%;
}
	#sec05 .ttl03{
		font-size: 5.8vw;
	}
	#sec05 .ttl04{
		font-size: 5.8vw;
		margin-top:75px;
	}
	#sec05 .subttl{
		margin-top: 5vw;
	}
	#sec05 .subttl .in{
		font-size: 5.3vw;
		padding: 0 5vw;
	}
	#sec05 .txt3{
		font-size: 1.6rem;
		padding: 40px 20px;
		display: inline-block;
	}
	#sec05 .subttl2 .in{
		font-size: 5.7vw;
	}
	#sec05 .boxlist{
		margin: 8vw auto 0;
	}
	#sec05 .boxlist li{
		width: 50%;
		border-left: 2px solid rgba(28,79,134,0.11);
		padding: 5vw 4vw;
	}
	#sec05 .boxlist li:nth-child(n+3){
		border-top: 2px solid rgba(28,79,134,0.11);
	}
	#sec05 .boxlist li .boxttl{
		border-bottom: 1px solid #1c4f86;
	}
	#sec05 .boxlist li .boxttl span{
		font-size: 4.4vw;
		font-weight: bold;
		line-height: 1.3;
		border-bottom: 0;
		padding-bottom: 1vw;
	}
	#sec05 .boxlist li .img{
		max-width: 45%;
		margin: 4vw auto 0;
	}
	#sec05 .boxlist li .txt{
		font-size: 3.8vw;
		text-align: left;
		margin-top: 4vw;
	}
	#sec05 .boxlist li .txt .small{
		font-size: 3.2vw;
		line-height: 1.4;
		display: inline-block;
	}



	/*
	    #sec052
	------------------------------ */
	#sec052{
		padding: 5vw 0;
	}
	#sec052 .ttl04{
		font-size: 6.2vw;
	}
	#sec052 .txt3{
		font-size: 1.8rem;
		padding: 40px 20px;
		display: inline-block;
	}



	/*
	    #sec06
	------------------------------ */

	#sec06{
		padding: 0 0 10vw;
		background: #fff;
	}
	#sec06 .opt{
		box-shadow: 5px 5px 5px rgba(0,0,0,0.15);
	}


	/*
	    #sec07
	------------------------------ */

	#sec07{
		padding: 11vw 0 10vw;
	}
	#sec07 .bg::after{
		display: none;
	}
	#sec07 .bg .wrap{
		overflow: visible;
	}
	#sec07 .bg .wrap::after{
		display: none;
	}
	#sec07 .ttl03{
		font-size: 6.8vw;
	}
	#sec07 .subttl{
		margin-top: 5vw;
		margin-bottom: 4vw;
	}
	#sec07 .subttl .in{
		font-size: 5.3vw;
		padding: 0 5vw;
	}
	#sec07 .boxlist{
		width: 100vw;
		margin-left: -5%;
	}
	#sec07 .boxlist li{
		display: flex;
		justify-content: center;
		align-items: stretch;
		background-color: #1c4f86;
	}
	#sec07 .boxlist li+li{
		margin-top: 0;
	}
	#sec07 .boxlist li .img{
		width: 50%;
		background: url(../img/sec07_img01_sp.png) no-repeat center center / cover;
	}
	#sec07 .boxlist li.box02 .img{
		background-image: url(../img/sec07_img02_sp.png);
	}
	#sec07 .boxlist li.box03 .img{
		background-image: url(../img/sec07_img03_sp.png);
	}
	#sec07 .boxlist li.box04 .img{
		background-image: url(../img/sec07_img04_sp.png);
	}
	#sec07 .boxlist li .img img{
		display: none;
	}
	#sec07 .boxlist li .txtwrap{
		width: 50%;
		background-size: 14vw;
		background-position: left 3vw top 4vw;
		padding: 6vw 4vw 3vw;
		margin-bottom: 0;
	}
	#sec07 .boxlist li .txtwrap .boxttl{
		font-size: 5.2vw;
		text-align: right;
		font-weight: bold;
		margin-bottom: 2vw;
		padding-right: 5vw;
	}
	#sec07 .boxlist li .txtwrap .txt{
		font-size: 3.8vw;
		letter-spacing: -0.05em;
	}
	#sec07 .boxlist li:nth-child(odd) .txtwrap{
		margin-left: auto;
	}
	#sec07 .boxlist li:nth-child(even) .txtwrap{
		margin-right: auto;
	}


	/*
	    #sec08
	------------------------------ */

	#sec08{
		padding: 0 0 11vw;
	}
	#sec08::before{
		top: -5vw;
		height: 12.5vw;
	}
	#sec08 .ttl{
		max-width: 55%;
		margin: auto;
	}
	#sec08 .txt{
		font-size: 4.2vw;
		margin-top: 5vw;
	}


	/*
	    #sec09
	------------------------------ */

	#sec09{
		padding: 11vw 0;
	}
	#sec09 .ttl05{
		font-size: 6.3vw;
	}
	#sec09 .ttl06{
		font-size: 6.3vw;
		margin-top: 70px;
	}
	#sec09 .list{
		display: block;
		margin-top: 7vw;
	}
	#sec09 .list li{
		width: 100%;
		padding: 5vw 4vw;
	}
	#sec09 .list li:nth-child(n+2){
		margin-top: 5vw;
	}
	#sec09 .list li dl dt{
		font-size: 4.4vw;
		line-height: 1.4;
		font-weight: bold;
		padding-bottom: 2vw;
		margin-bottom: 2vw;
	}
	#sec09 .list li dl dd{
		font-size: 3.8vw;
		font-weight: normal;
		letter-spacing: -0.03em;
	}
	#sec09 .txt3{
		font-size: 2rem;
		padding: 40px 20px;
		display: inline-block;
	}

	/*
	    #sec10
	------------------------------ */

	#sec10{
		padding: 11vw 0 11vw;
		background-image: radial-gradient(circle, rgba(195, 150, 101, 0.95) 70%, rgba(195, 150, 101, 0.95) 95%);
	}
	#sec10 .ttl05{
		font-size: 5.3vw;
	}
	#sec10 .img{
		max-width: 100%;
		margin: 5vw auto 0;
	}
	#sec10 .txt{
		font-size: 3.8vw;
		text-align: left;
		margin-top: 3vw;
	}


	/*
	    #sec11
	------------------------------ */

#sec11{
		padding: 0 0 10vw;
			background: rgba(245,237,216,0.5) !important;
	}
	#sec11 .opt{
		box-shadow: 5px 5px 5px rgba(0,0,0,0.15);
	}


	/*
	    #opinfo
	------------------------------ */

#opinfo{
		padding: 7vw 0;
		background: rgba(245,237,216,0.5);
	}


	/*
	    #contact
	------------------------------ */

	#contact{
		padding: 11vw 0;
	}
	#contact::before{
		top: -5vw;
		height: 12.5vw;
	}
	#contact .opt{
		margin-bottom: 5vw;
	}
	#contact .ttl04{
		font-size: 6.3vw;
		padding-top: 4vw;
		font-weight: bold;
	}
	#contact .txt{
		font-size: 3.1vw;
		text-align: left;
	    margin-top: 3vw;
	}
	#contact .tablewrap{
		width: 100%;
		margin: auto;
	}
	#contact .musttxt{
		font-size: 3vw;/*1rem*/
	    margin-top: 5vw;
	}
	#contact .must{
		font-size: 0.6em;
	}
	#contact .note{
	font-size: 90%;
	padding-left: 5%;
	padding-right: 5%;
	}
	#contact table{
		margin-top: -1.1em;
	}
	#contact table th{
		font-size: 3.8vw;
		font-weight: normal;
		width: 100%;
		padding-top: 0;
		display: block;
		margin-top: 3vw;
		padding-top: 3vw;
	}
	#contact table tr:first-child th{
		margin-top: 0;
	}
	#contact table th .must{
		font-size: 0.8em;
	}
	#contact table td{
		font-size: 3.8vw;
		width: 100%;
	    padding: 0 0 1vw;
	    margin-top: 1vw;
		display: block;
	}
	#contact table td input[type="text"],
	#contact table td textarea{
		font-size: 3.8vw;
		padding: 0 3vw;
		height: 6.5vw;
	}
	#contact table td textarea{
		padding: 3vw;
		min-height: 31.5vw;
	}
	#contact .submit{
		margin: 5vw auto 0;
	}
	#contact .submit button{
		font-size: 3.8vw;
		font-weight: normal;
		line-height: 14vw;
		height: 14vw;
		padding: 0 3vw;
		background-position: right 5vw center;
		background-size: 4.5vw;
		width: 90%;
	}
	input {
		height: 40px !important;
		font-size: 100% !important;
	}
	select {
		font-size: 3.5vw;
		padding: 1.8vw 3vw;
	}



	/*
	    #運営者案内
	------------------------------ */

	#profile{
		padding: 0 0 11vw;
		background: rgba(28,79,134,0.11);
	}
	#profile .txtwrap{
		width: 100%;
		padding: 11vw 0 0;
		margin-left: auto;
	}
	#profile .ttl04{
		font-size: 5.3vw;
		text-align: center;
	}
	#profile table{
		margin-top: 3vw;
	}
	#profile table th,
	#profile table td{
		padding: 0;
		display: block;
	}
	#profile table th,
	#profile table td{
		font-size: 3.9vw;
		width: 100%;
	}
	#profile table th{
		font-weight: bold;
		margin-top: 2vw;
	}



	/*
	    footer
	------------------------------ */

	footer{
		padding: 3vw 0;
	}
	footer .wrap{
		display: block;
	}
	footer .link{
		padding-bottom:10px;
	}
	footer .link li{
		font-size: 12px !important;
	}
	footer .copy{
		text-align: center;
		font-size: 3vw;
	}

	/*
	    confirm thanks
	------------------------------ */

	.confirm #contact,
	.thanks #contact{
		padding-top: 5vw;
	}
	.confirm #contact table{
		margin-top: 3vw;
	}
	.confirm #contact .submit{
		display: block;
	}
	.confirm #contact .submit button.back{
		background-position: left 5vw center;
	    background-size: 4.5vw;
		margin-right: auto;
		margin-bottom: 2vw;
	}
	.thanks #contact .topbtn{
		width: 80%;
		margin: 5vw auto 0;
	}
	.thanks #contact .topbtn a{
		font-size: 3.8vw;/*1.2rem*/
		font-weight: normal;
		text-align: center;
		letter-spacing: 0.1em;
		color: #fff;
		line-height: 14vw;
		height: 14vw;
		padding: 0 8vw 0 3vw;
		display: block;
		background: #f15a24 url(../img/opt_icon01.png) no-repeat;
		background-position: right 5vw center;
		background-size: 4.5vw;
	}



}


/* ------------------------------
    clearfix
------------------------------ */

.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */





/* ------------------------------
    追加
------------------------------ */


/* 相談無料
------------------------------ */
.free_consultation {
	padding-top: 0.6rem;
	padding-bottom: 2.0rem;
    background-color: #fff;
}
.free_consultation.top_narrow {
	padding-top: 3.0rem;
}
.free_consultation.top_more_narrow {
	padding-top: 6.0rem;
}
.free_consultation.top_narrow_responce {
    padding-top: 6.0rem;
}
.free_consultation.parent_max_width {
    margin: 0 calc(50% - 50vw);
	width: 100vw;
}
@media (min-width: 768px) {
    .free_consultation.top_narrow_responce {
        padding-top: 2.0rem;
    }
}
.free_consultation_alt {
	padding-top: 2.0rem;
}
.free_ttl {
	height: 110px;
    margin-top: -45px;
    margin-bottom: 0;
	padding-top: 48px;
	text-align: center;
	color: #FFF;
	font-size: 1.125rem;
    font-weight: bold;
	background: url("/wp-content/uploads/bkgr_taishoku_title_CTA_new.png") no-repeat center top;
	background-size: 340px auto;
    color: #E40E7F;
    position: relative;
}
.consultation_line, .consultation_tel {
    width: 100%;
    margin: 0 auto;
}
.consultation_tel a, .consultation_line a {
    display: block;
	padding: 30px 0 20px;
    /*padding: 30px 0;*/
	border-radius: 6px;
    text-decoration: none;
	color: #FFF;
    font-weight: bold;
}
@media (min-width: 768px) {
    .consultation_tel a, .consultation_line a {
	padding: 35px 0 20px
}
}
.consultation_tel a {
    background-color: #FF9100;
    position: relative;
    padding-left: 45px;
}
.consultation_line a {
    background-color: #00B900;
    position: relative;
    padding-left: 45px;
}
.consultation_tel a:hover, .consultation_line a:hover,
.consultation_tel a:active, .consultation_line a:active,
.consultation_tel a:focus, .consultation_line a:focus {
    color: #FFF;
}
  .consultation_line>a:before,
  .consultation_tel>a:before {
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    transform: translatey(-50%);
}
  .consultation_line>a:before {
    background-image: url(../img/icon_line.png);
    width: 38px;
    height: 36px;
    left: 25px;
  }
  .consultation_tel>a:before {
    background-image: url("/wp-content/uploads/icon_phone_legend_wh.png");
    width: 53px;
    height: 30px;
    left: 20px;
  }
  .mail_icon a:before {
    content: "\f003";
    font-family: 'FontAwesome';
  }

 @media screen and (min-width: 768px) {
  .free_consultation.ncr_container,
  .free_consultation_alt.ncr_container {
      display: flex;
      justify-content: center;
  }
  .free_consultation .ncr_container_inner,
  .free_consultation_alt .ncr_container_inner {
    display: flex;
    justify-content: center;
    flex-direction: row-reverse;
    }
    .consultation_line, .consultation_tel {
        width: 40%;
        margin-left: 0;
        margin-right: 0;
	}
	.free_consultation_text {
        font-size: 1.25rem;
	}

    .free_consultation_alt .consultation_line p,
    .free_consultation_alt .consultation_tel p {
        font-size: 1rem;
    }

    .free_consultation_alt .consultation_line a,
    .free_consultation_alt .consultation_tel a {
        font-size: 1rem;
    }
}

@media screen and (min-width: 1024px) {
    .free_ttl {
        height: 180px;
        padding-top: 80px;
        font-size: 1.875rem;
        background-size: 580px auto;
    }

    .consultation_line, .consultation_tel {
        width: 40%;
        font-size: 1.6875rem;
    }

    .free_consultation_alt .consultation_line,
    .free_consultation_alt .consultation_tel {
        width: 30%;
    }
}

.free_consultation .bottom_info {
    font-size: 0.75rem;
    padding: 0 1rem;
    margin: 0 auto;
}
@media screen and (min-width: 1024px) {
    .free_consultation .bottom_info {
        padding: 1rem;
        max-width: calc(1000px - 5.5rem);
    }
}
@media screen and (min-width: 1200px) {
    .free_consultation .bottom_info {
        padding: 1rem;
        max-width: calc(1200px - 5.5rem);
    }
}
.text_center {
  text-align: center;
}



/* 24時間365日受付中
------------------------------ */
.opttxt span { padding: 5px; border: solid 2px #E65C00; display: inline-block; color: #E65C00; font-weight: bold; margin-right: 10px; }



/*メール用ボタン
------------------------------ */
.cta_mail {
  font-weight: bold; /* 文字の太さ */
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1em 2em 1em calc(5em - 15px);
  transition: 0.3s;
  text-decoration: none;
  color: #fff; /* 文字色 */
  border-radius: 0.5rem;
  background-color: #F88400; /* 背景色 */
  box-shadow: 0 3px 0 0 #995100; /* 影の色 */
  margin-left: 10px;
}
.cta_mail p {
  margin: 0;
}
.cta_mail .cta_mail_copy {
  position: absolute;
  bottom: 0.5em;
  left: -10px;
  display: inline-block;
  width: 5em;
  height: 5em;
  line-height: 5em;
  text-align: center;
  color: #F88400;
  font-size: 80%;
  font-weight: bold;
  background: #fff;
  border: 3px solid #F88400;
  border-radius: 50%;
  box-sizing: border-box;
  transform: rotate(-10deg);
}
.cta_mail .cta_mail_copy::before {
  position: absolute;
  content: "";
  bottom: -5px;
  right: -10px;
  border: 9px solid transparent;
  border-left: 15px solid #FFF;
  z-index: 0;
  transform: rotate(45deg);
}
.cta_mail:hover {
  transform: translate(0, 3px);
  background: #F88400; /* 背景色 */
  box-shadow: 0 2px 0 #19934e;
}



/*LINE用ボタン
------------------------------ */
.cta_line {
  font-weight: bold; /* 文字の太さ */
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1em 2em 1em calc(5em - 15px);
  transition: 0.3s;
  text-decoration: none;
  color: #fff; /* 文字色 */
  border-radius: 0.5rem;
  background: #00B900; /* 背景色 */
  box-shadow: 0 5px 0 #19934e;
  margin-left: 10px;
}
.cta_line p {
  margin: 0;
}
.cta_line .cta_line_copy {
  position: absolute;
  bottom: 0.5em;
  left: -10px;
  display: inline-block;
  width: 5em;
  height: 5em;
  line-height: 5em;
  text-align: center;
  color: #45B173;
  font-size: 80%;
  font-weight: bold;
  background: #fff;
  border: 3px solid #00B900;
  border-radius: 50%;
  box-sizing: border-box;
  transform: rotate(-10deg);
}
.cta_line .cta_line_copy::before {
  position: absolute;
  content: "";
  bottom: -5px;
  right: -10px;
  border: 9px solid transparent;
  border-left: 15px solid #FFF;
  z-index: 0;
  transform: rotate(45deg);
}
.cta_line:hover {
  transform: translate(0, 3px);
  background: #00B900; /* 背景色 */
  box-shadow: 0 2px 0 #19934e;
}



/* ------------------------------
    CTA
------------------------------ */
.cta_btn09 {
  font-weight: bold; /* 文字の太さ */
  text-align: center;
  letter-spacing: 0.1em;
  align-items: center;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}
.cta_btn09-contact , .cta_btn09-line {
  color: #fff; /* 文字色 */
  font-size: 110%;
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding: 1em 1em 1em 60px;
  border-radius: 100vh;
  width: 100%; /* ボタン幅 */
  max-width: 350px; /* 最低ボタン幅 */
  transition: 0.3s;
}
.cta_btn09-contact {
  background: #F88400; /* お問い合わせボタン色 */
  box-shadow: 0 8px #DF7600; //ボタンの下に影をつけて立体感を出す
}
.cta_btn09-line {
  background: #00B900; /* 電話ボタン色 */
  box-shadow: 0 8px #009000; //ボタンの下に影をつけて立体感を出す
}
.cta_btn09-contact::before,
.cta_btn09-line::before {
  content: '';
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: cover;
}
.cta_btn09-contact::before {
  width: 50px;
  height: 41px;
  background-image: url(../img/mail.png); /* メールアイコン */
}
.cta_btn09-line::before {
  width: 63px;
  height: 60px;
  background-image: url(../img/line.png); /* LINEアイコン */
}
.cta_btn09 .copy_txt {
  line-height: 1;
  display: inline-block;
  padding: 0.2em 1em;
  letter-spacing: 0;
  background: #fff; /* 下文字背景色 */
  font-size: 90%; /* 下文字サイズ */
  border-radius: 5px;
}
.cta_btn09-contact .copy_txt {
  color: #F88400; /* 下文字色 */
}
.cta_btn09-line .copy_txt {
  color: #00B900; /* 下文字色 */
}
.cta_btn09 img {
    width: 1em;
    margin-right: 0.5em;
}
.cta_btn09-contact:hover,
.cta_btn09-line:hover {
  transform: scale(1.05); /* マウスオーバーした際のデザイン */
}


/* 問い合わせフォーム追加
------------------------------------*/
.Form-Item-Input, .Form-Item-Textarea, .Form-Item-Select {
  background: #F2F2F2;
  border-radius:6px;
}
.Form-Item {
  border-top: 1px solid #ddd;
}
@media (max-width: 767px) {
.Form-Item {
  border-top: none;
}
}


/* 料金比較
------------------------------------*/
.fee {
  background: #F0F3F7;
  border-radius: 20px;
  margin-top: 10px;
  margin-bottom: 40px;
  padding: 55px 40px 70px;
}
.fee table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  background: #F0F3F7;
}
.fee table th {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.5em;
  padding: 40px 0;
  vertical-align: middle;
}
.fee table td {
  text-align: center;
  color: #0092E5;
  font-size: 2.6rem;
  padding: 30px 0;
}
.fee table th:first-child {
  width: 220px;
  background-color: #F0F3F7;
}
.fee table td:first-child {
  font-size: 1.6rem;
  color: #000;
  padding: 16px 0;
  background-color: #F0F3F7;
  text-align: left;
  font-weight: 700;
}
.fee table th:nth-child(2n) {
  background-color: #FFF;
}
.fee table td:nth-child(2n) {
  background: #FFF;
  font-size: 2.6rem;
}
.fee table th:nth-child(3n) {
  background-color: #F7F9FB;
}
.fee table td:nth-child(3n) {
  background: #F7F9FB;
  font-size: 2.1rem;
}
.fee table td:nth-child(4n) {
  font-size: 2.1rem;
}
.fee table th:nth-child(2) {
  border-top: 5px solid #0092E5;
  border-left: 5px solid #0092E5;
  border-right: 5px solid #0092E5;
}
.fee table td:nth-child(2) {
  border-left: 5px solid #0092E5;
  border-right: 5px solid #0092E5;
}
.feetablebtm {
  border-bottom: 5px solid #0092E5 !important;
}
.feelogo {
  background-image: url("../img/fee_logo.png");
  background-repeat: no-repeat;
  background-size: 70% auto;
  background-position: center center;
}

@media (max-width: 767px) {
  .fee {
    border-radius: 0px;
    margin-top: 0;
    padding: 40px 20px 40px;
  }
  .tablescroll {
    overflow: auto;
    white-space: nowrap;
  }
  .fee table {
    width: 100%;
  }
  .fee table th {
    font-size: 1.7rem;
    padding: 20px 0;
    width:120px;
  }
  .fee table td {
    font-weight: 700;
  }
  .fee table th:first-child {
    width: 85px;
  }
  .fee table td {
  padding: 4% 2%;
  }
  .fee table td:first-child {
    font-size: 1.4rem!important;
    padding: 12px 0;
    vertical-align: middle;
    text-align: left;
  }
  .fee table td:nth-child(2n) {
  font-size: 2rem;
  }
  .fee table td:nth-child(3n) {
  font-size: 1.6rem;
  }
  .fee table td:nth-child(4n) {
  font-size: 1.6rem;
  }
  .feelogo {
    background-size: 80% auto;
  }
  
.table_box{
  overflow-x: auto;
  width:100%;
  -webkit-overflow-scrolling: touch;
}
}


/* 3つの特徴
------------------------------------*/
.point {
  background: #F0F3F7;
  border: 1px solid #1c4f86;
  padding: 10px;
  margin: 30px auto 0;
  max-width: 1000px;
  border-radius: 10px;
  width: 100%;
}
.point .point-title {
  background: #ffffff;
  color: #c74d62;
  border: 1px solid #1c4f86;
  text-align: center;
  max-width: 200px;
  margin: 10px auto;
  border-radius: 10px;
  font-weight: bold;
  font-size: 1.8rem;
}
.point .point-title2 {
  text-align: center;
  font-weight: bold;
  color: #1c4f86;
  font-size: 2.8rem;
  margin-top: 20px;
}
.point .point-title3 {
  text-align: center;
  font-weight: bold;
  color: #1c4f86;
  font-size: 2.8rem;
  margin-top: 20px;
}
.point .point-text {
  line-height: 1.8;
  font-size: 2rem;
  max-width: 800px;
  margin: 30px auto;
  text-align: left;
}
.point .point-text2 {
  line-height: 1.8;
  font-size: 2rem;
  max-width: 800px;
  margin: 30px auto;
  text-align: left;
}

@media only screen and (max-width: 688px) {
  .point {
    margin: 20px auto 0;
  }
  .point .point-title {
    font-size: 2.1rem;
  }
  .point .point-title2 {
    font-size: 2.2rem;
  }
  .point .point-title3 {
    font-size: 2.2rem;
  }
  .point .point-text {
    font-size: 1.8rem;
    max-width:90%;
    margin: 10px auto;
  }
  .point .point-text2 {
    font-size: 1.6rem;
    max-width:90%;
    margin: 10px auto;
  }
}


/* 黄色マーカー */
.ymarker {
background: linear-gradient(transparent 70%, yellow 20%);
font-weight: 600;
}

/*
   table 運営者情報
------------------------------ */
.table_design09 {
  border-collapse: collapse;
  width: 100%;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 40px;
}
.table_design09 th, .table_design09 td {
  font-size: 90%;
	padding: .5em 1em;
  border: 2px solid #4d9bc1;
}
.table_design09 td {
	 background: #fff;
  text-align: left;
}
.table_design09 th {
  background: #4d9bc1;
  color: #fff;
	border-right: 2px solid #fff;
  border-top: 2px solid #4d9bc1;
}
.table_design09 th:last-of-type {
  border-right: 2px solid #4d9bc1;
}
 .table_design09 td:nth-child(1) {
  background-color: #e9f3f7;
	 white-space: nowrap;
  text-align: center;
}


/* お知らせリスト */
.news-list{
  list-style: none outside;
  margin: 0;
  padding: 0;
}
.news-list .item {
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #31345e;
  border-bottom: 1px solid #CCC;
  padding: 20px 20px;
  font-weight: 600 !important;
}
.news-list .item:first-child {
  border-top: 1px solid #CCC ;
}
.news-list .item:last-child {
  margin-bottom: 50px ;
}
.news-list .item .date{
  margin: 0;
  min-width: 140px;
  font-size: 16px;
  color: #1c4f86;
  padding: 0 20px 0 0;
  font-weight: 600 !important;
}
.news-list .item .title{
  margin: 0;
  width: 100%;
}
.news-list .item a:hover .title{
  color: #00F;
}

@media screen and (max-width: 767px){
.news-list .item {
  flex-wrap: wrap;
}
.news-list .item .date{
  min-width: 100px;
}
.news-list .item .title{
  margin-top: 10px;
  font-size: 3.8vw;
  line-height: 1.5;
}
}