﻿@charset "UTF-8";

/*---------------------------------------

[reset]

[base]
	font
	anchor
	add class

.body_common set-up]
	h
	pagetop link

[lower.body_common]

[each page]

.body_common contents]
	container
	header
	main contents
	footer
	print

[clearfix]

[cms setting]

---------------------------------------*/

/* CSS Document */
/*===============================================
●style.css
===============================================*/
* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

.container {
	width: 100%;
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: reset */
body,div,dl,dt,dd,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote {
	margin: 0;
	padding: 0;
}
ul,ol{
	margin: 0;
}

header,nav,section,aside,footer {
	display: block;
}

table {
	border-spacing: 0;
}

fieldset,img,a img,abbr,acronym {
	border: 0;
}

li img,dt img {
	vertical-align: top;
}

address,caption,cite,code,dfn,th,var {
	font-style: normal;
	font-weight: normal;
}

caption,th {
	text-align: left;
}

h1,h2,h3,h4,h5,h6 {
	font-weight: normal;
}

q:before,q:after {
	content: '';
}

a {
	outline: none;
}

button, fieldset, form, input, label, legend, select, textarea {
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: base */

/*--------------------------------------- font */
html {
	font-size: 62.5%;
}

body {
	font-family:var(--base-font);
	line-height: 1.8;
	color: #1d2129;
	-webkit-text-size-adjust: 100%;
	font-size: 1.5em;
}

:root {
  --goshic-font:'Open Sans', Verdana,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ",Meiryo, sans-serif; 
}

nav#side li a:before {
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
@media screen and (max-width:779px) {
	html,body {
		-webkit-text-size-adjust: 100%;
		-webkit-overflow-scrolling: touch;
	}
	iframe{
		max-width:100%;
	}
}
/*----------------------- color */
/* red */
.red {
	color: #FF0000;
}

/* white */
.white {
	color: #FFFFFF;
}

/* aqua */
.aqua {
	color: #2b71b7;
}

/* blue */
.blue {
	color: #334f99;
}

/* black */
.black {
	color: #0b0b0b;
}
/*----------------------- size */
/* size10px */
.size10 {
	font-size: 0.71em;
}

/* size12px */
.size12 {
	font-size: 0.85em;
}

/* size14px */
.size14 {
	font-size: 1.0em;
}

/* size16px */
.size14 {
	font-size: 1.14em;
}

/* size18px */
.size18 {
	font-size: 1.28em;
}

/* size22px */
.size22 {
	font-size: 1.57em;
}

/* size24px */
.size22 {
	font-size: 1.71em;
}


/*--------------------------------------- anchor */

a {
	color: var(--link-color);
}

a:hover {
	color: var(--link-color-light);
}

/* btn */
.btn {
	text-align: center;
	display: block;
	padding: 0.5em 20px;
}

.btn a {
	border-radius: 5px;
	padding: 0.8em 2em;
	line-height: 1.5;
	background-color: var(--main-color);
	color: var(--footer-txtcolor);
	text-decoration: none;
	display: inline-block;
	transition: linear 0.2s;
}

.btn a:hover {
	background-color: var(--main-color-light);
}

/* btn01 */
.btn01 {
  text-align: center;
  clear: both;
}
.btn01 a {
    display: inline-block;
    font-size: 1.3em;
    padding: .75em 5em;
    border: solid 1px #8d8d8d;
    margin: .5em auto;
    position: relative;
    -webkit-transition: all .4s;
    transition: all .4s;
    text-decoration: none;
    color: #FFF;
}
                      @media screen and (max-width:678px) {
                        .btn01 a {
                          width: 92%;
                          padding: .75em 1em;
                        }

                      }
                      .lower .btn01 a {
                        color:#444444;
                        border: solid 1px #444444;
                      }



.btn01 a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -7%;
    height: .2px;
    width: 14%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-color: #8d8d8d;
    -webkit-transition: all .4s;
    transition: all .4s;
}
                      .lower .btn01 a::after {
                        background-color: #444444;
                      }

.btn01 a:hover {
    border-color: #5b5b5b;
    color: #5b5b5b;
}
                      .lower .btn01 a:hover {
                        background: #f2f2f2;
                        color:#909090;
                        border:solid 1px #909090;
                      }

.btn01 a:hover::after {
    right: -10%;
    background-color: #5b5b5b;
}

/* btn_square */
.btn_square {
  text-align: right;
  margin-bottom: 30px;
  margin-top: -30px;
}
                      @media screen and (max-width:708px) {
                        .btn_square {
                        margin-top: -10px;
                        text-align: center;
                        }
                      }

.btn_square a {
  color:#444444;
  border:solid 1px #444444;
  border-radius:3px;
  padding:4px 38px;
  display:inline-block;
  text-decoration: none;
  position: relative;
  -webkit-transition: all .4s;
  transition: all .4s;
}
.btn_square a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -7%;
    height: .2px;
    width: 14%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-color: #444;
    -webkit-transition: all .4s;
    transition: all .4s;
}
.btn_square a:hover {
  background: #f2f2f2;
  color:#909090;
  border:solid 1px #909090;
}
.btn_square a:hover::after {
    right: -10%;
    background-color: #5b5b5b;
}



/* エディター：スタイル */
.editor-style-btn1 {
  	display: inline-block;
    margin: 2.5em auto;
    padding: 0.8em 3.5em;
    color: #000;
    border-radius: 5px;
    background-color: #FFF;
    transition: linear 0.2s;
    border: solid 1px #000;
}

.editor-style-btn1:hover {
	background-color: #000;
}

.editor-style-btn1 a {
	color: #000;
	text-decoration: none;
}

.editor-style-text1 {
	color: #ffffff;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3),-1px -1px 5px rgba(0, 0, 0, 0.3);
}
/*--------------------------------------- add class */

.floatL {
	float: left;
}

.floatR {
	float: right;
}

.clearB {
	clear: both;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.bold {
	font-weight: bold;
}

/*--------------------------------------- columnBox */
.columnBox .column {
	padding:1em 20px;
}
@media screen and (min-width: 780px), print {
	.columnBox {
		display: table;
		table-layout: fixed;
		width: 100%;
	}
	.columnBox .column {
		display: table-cell;
		vertical-align: top;
	}
	.columnBox .v_middle {
		vertical-align: middle;
	}
	.columnBox .v_bottom {
		vertical-align: bottom;
	}
	.w20 {
		width: 20%;
	}
	.w30 {
		width: 30%;
	}
	.w40 {
		width: 40%;
	}
	.w50 {
		width: 50%;
	}
	.w60 {
		width: 60%;
	}
	.w70 {
		width: 70%;
	}
	.w80 {
		width: 80%;
	}
	.padr3 {
		padding-right: 3%;
	}
	.padL3 {
		padding-left: 3%;
	}
	.padt3 {
		padding-top: 3%;
	}
	.padt6 {
		padding-top: 6%;
	}
}

/*--------------------------------------- list_text */
.list_text,
.list_text li {
	display: block;
	padding: 0;
	margin: 0;
}
.list_text {
	padding: 1em 0;
}
.list_text li {
	background-color: #f4f4f4;
}
.list_text li:nth-child(2n) {
	background-color: #fafafa;
}

.list_text li a {
	text-decoration:none;
	display: block;
	color: #777;
}
.list_text li .listBox {
	width: 100%;
}
.list_text li .date {
	font-size: 0.9em;
	width: 8em;
}
.list_text li .new {
	font-size: 0.9em;
	margin: 5px;
}
@media screen and (min-width: 481px), print {
	.list_text li .listBox {
		display: table;
	}
	.list_text li .listBox .date,
	.list_text li .listBox .text {
		display: table-cell;
		vertical-align: middle;
		padding: 1em 20px;
	}
}
@media screen and (max-width: 480px) {
	.list_text li .listBox {
		padding: 10px 20px;
		display: block;
	}
	.list_text li .listBox .date,
	.list_text li .listBox .text {
		padding: 5px 0;
		display: block;
	}
}
/*--------------------------------------- list_thumbnail */
.list_thumbnail {
	width:100%;
	padding: 1em 0;
	margin: 0;
}

.list_thumbnail li{
	display: inline-block;
	vertical-align: top;
	margin: 0 0 20px;
}
.list_thumbnail li a {
	display: block;
	text-decoration: none;
	color: #777777;
}
.list_thumbnail .listBox {
	display: block;
	padding: 0 12px 1em;
	position: relative;
}
                .list_thumbnail.style02 .listBox {
                  padding:0 0 1em;
                  background: rgb(255,255,255);
                  background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 88%, rgba(32,32,32,1) 88%, rgba(32,32,32,1) 100%);
                }
                .list_thumbnail.style02 li {
                  margin:0 3% 40px 0;
                  width: 31%;
                }
                .list_thumbnail.style02 li:nth-of-type(3n) {
                  margin-right:0;
                }

                      @media screen and (max-width:520px) {
                         .list_thumbnail.style02 li {
                                  width:100%;
                        }
                      }

                      @media screen and (max-width: 779px) {
                        .list_thumbnail .listBox {
                        padding: 0 ;
                        }
                      }

.list_thumbnail .thumbnail {
	display: block;
	overflow: hidden;
	text-align: left;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
	transition: linear 0.2s;
}
                    @media screen and (max-width:779px) {
                  .list_thumbnail.style02 li:nth-of-type(even) .thumbnail{
                    text-align: right;
                  }
                  }

.list_thumbnail .thumbnailWrapper {
  position:relative;
  width: 100%;
  display: block;
}

.list_thumbnail .thumbnail span.image {
	padding: 36% 0;
	display: block;
	height: 100%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	box-shadow: inset 0 -1em 4em 1em rgba(0, 0, 0, 0.05);
	transition: all 0.5s ease-out;
}
                .list_thumbnail.style02 .thumbnail {
                  width:92%;
                }



.list_thumbnail li a:hover .thumbnail span.image {
	transform: scale(1.1);
	box-shadow: none;
  overflow: hidden;
}
.list_thumbnail .dateBox {
	display: block;
	padding: 0 10px;
	background-color: #f4f4f4;
	font-size: 0.9em;
}
.list_thumbnail .date,
.list_thumbnail .new {
	margin: 5px;
	display: inline-block;
	vertical-align: middle;
}
.list_thumbnail .date {
	padding: 0.1em 0;
}
.new {
	color: #3ba5eb;
	padding: 0.01em 0.5em;
	border: 1px solid;
	border-radius: 100em;
}
.list_thumbnail .title {
	display: block;
	padding: 0.5em 0 0;
}
                  .body_common .list_thumbnail .title {
                      padding: 10px 0 0 20px;
                  }

.list_thumbnail .text {
	display: block;
	padding: 0;
	color: #999;
	font-size: 0.8em;
}

.list_thumbnail .arrow {
  padding: 7px 10px 10px;
  display: inline-block;
  background-color: #000;
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 0 -9px 12px 0;
}
                      @media screen and (max-width:520px) {
                         .lower .list_thumbnail .arrow {
                                  padding: 0px 6px 3px;
                        }
                      }

.list_thumbnail.style02  .arrow {
  margin: 0 20px -20px 0;
}

.dli-arrow-right {
  display: inline-block;
  vertical-align: middle;
  color: #FFF;
  line-height: 1;
  position: relative;
  width: 1em;
  height: 0.1em;
  background: currentColor;
}

                      @media screen and (max-width:520px) {
                         .lower .dli-arrow-right {
                                  width: 0.7em;
                        }
                      }

.dli-arrow-right::before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}
                      @media screen and (max-width:520px) {
                         .lower .dli-arrow-right::before {
                                  width: 0.45em;
                                  height: 0.45em;
                        }
                      }

@media screen and (min-width: 1200px) {
	.list_thumbnailC5 li{
		width: 20%;
	}
	.list_thumbnailC6 li{
		width: 16%;
	}
}
@media screen and (min-width: 780px) {
	.list_thumbnailC1 li{
		width: 100%;
		display:block;
	}
	.list_thumbnailC2 li{
		width: 50%;
	}
	.list_thumbnailC3 li{
		width: 33%;
	}
	.list_thumbnailC4 li{
		width: 25%;
	}
	.list_thumbnailC5 li{
		width: 20%;
	}
	.list_thumbnailC6 li{
		width: 16%;
	}
}

@media screen and (max-width: 779px) {
	.list_thumbnailC2 .listBox {
		padding: 0 0 2em;
	}
	.column_thumbnail {
		width: 35.2%;
	}
	.list_thumbnail li{
		width: 48%;
    margin-right: 2%;
	}
	.list_thumbnail li:nth-child(2n){
    margin-right: 0;
    float: right;
	}
	.list_thumbnailC1 li{
		width: 100%;
		display:block;
	}
	.list_thumbnailC4 li{
		width: 50%;
	}
	.list_thumbnailC5 li{
		width: 50%;
	}
	.list_thumbnailC6 li{
		width: 50%;
	}
}

@media screen and (min-width: 480px) {
	.list_thumbnailC2 li .listBox {
		padding: 1em 2em 1em 0;
	}
	.list_thumbnailC2 li:nth-child(2n) .listBox {
		padding: 1em 0 1em 2em;
	}
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.body_common set-up */
h1, h2, h3, h4, h5, h6 {
	clear: both;
	position: relative;
}
.lower h1 {
    font-family: var(--sub-font);
    padding: 120px 0;
    /* max-width: 1200px; */
    margin: 0 auto;
    text-align: center;
    font-weight: normal;
    color: #FFF;
    position: fixed;
    height: 500px;
    width:100%;
   z-index: 10;
    min-height: 300px;
  letter-spacing: 0.12em;
 
}
.lower h1::before {
  content: '';
  display: block;
  position:absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: -1;
  width: 100%;
  height: auto;
  min-height: 500px;
  background-image: url(img/lower_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

                        @media screen and (max-width: 779px) {
                        .lower h1 {
                            padding: 80px 0 85px;
                            min-height: 200px;
                        }
                        }


.lower h1 span {
  display:block;
  font-size:0.35em;
  font-family:var(--base-font);
  letter-spacing: 0em;
}

h2 {
  font-family:var(--sub-font);
	padding: 1em 0;
	max-width: 1200px;
	margin: 0 auto;
	font-weight: normal;
}

.body_common h2 {
  color:#FFF;
  letter-spacing: 0.12em;
  font-size:2.3em;
}
.body_common h2 span {
  display:block;
  font-size: 0.4em;
}

h2 span {
  display: block;
  font-size: 0.5em;
  color: #999;
}

/* h:変更した場合はstyle_editor.cssにも反映すること */
h3 {
	margin: 1em 0 2em;
	padding: 0.8em 0;
	color: var(--main-color);
	border-bottom: 1px solid #3e3e3e;
}

h4 {
  position: relative;
  line-height: 1.4;
  padding:0.25em 1.8em;
  display: inline-block;
  top:0;
  margin: 1em 0 1.7em;
}

h4:before, h4:after { 
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}
h4:before {
  border-left: solid 1px var(--main-color);
  border-top: solid 1px var(--main-color);
  border-bottom: solid 1px var(--main-color);
  left: 0;
}
h4:after {
  content: '';
  border-top: solid 1px var(--main-color);
  border-right: solid 1px var(--main-color);
  border-bottom: solid 1px var(--main-color);
  right: 0;
}



h5 {
	margin: 1em 0 3em;
  border-left: 6px double var(--main-color);
  padding: 0 0 0 1.5em;
}



h6 {
	color: var(--main-color);
	font-weight: bold;
	margin: 1em 0;
}

@media screen and (min-width: 780px), print {
	.lower h1 {
		font-size: 2.71em;
	}
	h2 {
		font-size: 1.71em;
	}
	h3 {
		font-size: 1.4em;
	}
	h4 {
		font-size: 1.3em;
	}
	h5 {
		font-size: 1.1em;
	}
	h6 {
		font-size: 1em;
	}
}
@media screen and (max-width: 779px) {
	.lower h1 {
		font-size: 2.2em;
	}
	h2 {
		font-size: 1.2em;
	}
	h3 {
		font-size: 1.1em;
	}
	h4 {
		font-size: 1.1em;
	}
	h5,h6 {
		font-size: 1em;
	}
}



/* border */
.borderBottomDotted {
  border-bottom:dotted 1px #ccc;
}

/* table */
table {
	border-collapse: collapse;
}

table th,
table td {
	padding: 12px;
	border: 1px solid #CCCCCC;
}

table th {
	background: #eeeeee;
	text-align: center;
}

table[border="0"],
table[border="0"] th,
table[border="0"] td {
	border: none;
}
table[border="1"],
table[border="1"] th,
table[border="1"] td {
	border: 1px solid #CCCCCC;
}
table.tablelayout th,
table.tablelayout td {
  border:none;
}

@media screen and (max-width:479px) {
	table th {
		width: auto !important;
	}
	table.responsive tr{
		display: block;
	}
	table.responsive th,
	table.responsive td{
		text-align:left;
		width:96% !important;
		display: list-item;
		list-style:none;
	}
	table.responsive tr table{
		display: table;
	}
	table.responsive th table th,
	table.responsive td table td{
		width:auto !important;
		display: table-cell;
	}
	table.noresponsive tr{
		display: table-row;
	}
	table.noresponsive th,
	table.noresponsive td{
		text-align:left;
		width:100% !important;
		display: table-cell;
		list-style:none;
	}
	table.noresponsive tr table{
		display: table;
	}
	table.noresponsive th table th,
	table.noresponsive td table td{
		width:auto !important;
		display: table-cell;
	}
}

/* dl.flowstyle */
dl.flowstyle dt {
  margin: 1em 0 20px;
  padding: 0.5em 0;
  color: var(--main-color);
  border-bottom: 2px dotted #ddd;
  position: relative;
  font-size: 1.4em;
}
dl.flowstyle dt:after {
  width: 10%;
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  margin-bottom: -3px;
  border: 2px solid;
}
dl.flowstyle dd {
  position: relative;
  color: #333;
  text-decoration: none;
  padding-bottom: 70px;
}
dl.flowstyle dd:after {
  content: '';
  width: 20px;
  height: 20px;
  border: 0;
  border-bottom: solid 2px #333;
  border-right: solid 2px #333;
  position: absolute;
  bottom: 20px;
  left: 49%;
  transform: rotate(45deg);
}
dl.flowstyle dd:last-of-type:after {
  display:none;
}

/* con */
.container:nth-of-type(odd) .con:nth-of-type(even) .text,
.container:nth-of-type(odd) .con:nth-of-type(odd) .pic,
.container:nth-of-type(even) .con:nth-of-type(even) .pic,
.container:nth-of-type(even) .con:nth-of-type(odd) .text{
    float: right;
    
}
          
          .con .pic:nth-of-type(odd),
          .container:nth-of-type(even) .con:nth-of-type(odd) .pic {
            float: left;
          }
                      
.con .pic img {
  width:100%;
}
.container:nth-of-type(odd) .con:nth-of-type(even) .pic,
.container:nth-of-type(even) .con:nth-of-type(even) .text,
.container:nth-of-type(odd) .con:nth-of-type(odd) .text,
.container:nth-of-type(even) .con:nth-of-type(odd) .pic {
  float: left;
  
}
          
          .con .text:nth-of-type(even) {
            float: right;
          }
.con .text {width: 37%; margin-top: 100px; font-size: 1.1em;}
.con .pic {width: 58%;}


                      @media screen and (max-width:996px) {
                        .con .pic {width: 45%;}
                        .con .text {width: 51%; margin-top: 10px;}
                      }
                      @media screen and (max-width:708px) {
                        .con .pic {width: 100%!important; float:none;}
                        .con .text {width: 100%!important; float:none; margin-top: 10px; padding-bottom: 30px;}
                      }


.container:nth-of-type(even) .con {
  padding-bottom:70px;
}
                      @media screen and (max-width:708px) {
                        .container:nth-of-type(even) .con {padding-bottom:30px;}
                      }

.con.floatNone .text {
  width:100%;
  float:none;
  margin-top:0;
}

.caption {
  font-size: 0.8em;
  font-family: var(--goshic-font);
}

@media screen and (max-width: 708px) {
.con {
    font-size:0.9em;
}
}

/* youtube */
.section_top_youtube article {
	padding:0 20px 80px;
}

						@media screen and (max-width: 479px) {
						.section_top_youtube article {
							padding:0 20px 30px;
						}
						.section_top_youtube .txt {
							padding: 2em 0 0;
						}
						}


.youtube {	
	position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin-bottom: 10px;
}
.youtube iframe {
width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.youtubeFrame {
	width:100%;
	max-width:910px;
	position:relative;
}

.youtubeFrame p {
  font-size: 0.8em;
  font-family: var(--goshic-font);
}


/* tab */
.tab-1 {
  display: flex;
  flex-wrap: wrap;
  margin-bottom:50px;
}
 				@media screen and (max-width:780px) {
        .tab-1 {
          margin-bottom:0;
				}
				}


.tab-1 > label {
  flex: 1 1;
  order: -1;
  min-width: 70px;
  padding: .7em 1em .5em;
  border-bottom: 1px solid #f0f0f0;
  border-radius: 0;
  background-color: #f8f8f8;
  text-align: center;
  cursor: pointer;
  color: #333333;
  font-size: 1.25em;
}
 				@media screen and (max-width:780px) {
				.tab-1 > label {
          flex: auto;
				  font-size: 0.95em;
          padding: 0.5em 0.1em 0.3em;
				}
				}


.tab-1 > label:hover {
    opacity: .8;
}

.tab-1 input {
    display: none;
}

.tab-1 > div.msg {
  display: none;
  width: 100%;
  padding: 40px;
  background-color: #fff;
  border-right:solid 1px #f0f0f0;
  border-left:solid 1px #f0f0f0;
  border-bottom:solid 1px #f0f0f0;
  border-radius: 0 5px;
  font-size: 1.1em;
}
 				@media screen and (max-width:780px) {
				.tab-1 > div.msg {
          padding: 15px 10px;
				}
				}

.tab-1 label:has(:checked) {
    background-color: #fff;
    border-color: #676767 #f0f0f0 #fff;
    border-style: solid;
    border-width: 3px 1px 1px;
    border-radius: 5px 5px 0 0;
    color: #333333;
}

.tab-1 label:has(:checked) + div {
    display: block;
}



/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: main */

/*--------------------------------------- index.html パターン1 */
/* works */
                        @media screen and (max-width: 440px) {
                        .body_common h2 {
                          padding: 1em 20px;
                        }
                        .body_common .con01 article {
                            padding: 0;
                        }
                        }

.body_common .list_thumbnail.style02 li:nth-of-type(3n) {
    margin-right: 3%;
}
.body_common .list_thumbnail.style02 li {
  width: 30%;
}

                      @media screen and (max-width:520px) {
                         .body_common .list_thumbnail.style02 li {
                                  width:100%;
                        }
                      }

                      @media screen and (max-width: 779px) {
                        .body_common .list_thumbnail .listBox {
                        padding: 0 ;
                        }
                      }


/* access */
.body_common .bg_gray {
	padding-bottom: 0;
}

.body_common .access {
	padding:0;
}
.body_common .access .column{
	padding:0;
	vertical-align: middle;

}
.body_common article.access {
	background: #ffffff;
	max-width: 100%;
}

.body_common .companyInfo {
	padding: 20px 5%;
	line-height: 2.5em;
	max-width: 640px;
}
.body_common .companyInfo ul {
	list-style: none;
}
.body_common .companyInfo li{
	border-bottom: dotted 1px #666;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.body_common .companyInfo .btn {
	border-bottom: none;
	padding: 30px 0 0;
}
#map {
	width: 100%;
	height: 360px;
}

@media screen and (min-width: 780px) {
	.body_common .companyInfo .btn {
		text-align: left;
	}
}
@media screen and (max-width: 779px) {
	/* access */
	.body_common .access {
		padding: 20px;
	}
	.body_common .access dl {
		padding: 20px 0;
		margin: 0 auto;
	}

	.body_common .access dd.btn {
		text-align: center;
	}

	/* map */
	#map {
		height: 260px;
	}
}
#section_main_img_2 {
	background: #f4f4f4;
	position: relative;
}

/*次矢印のアイコンフォント*/
#section_main_img_2 .sp-next-arrow:before {
	content: ' ' !important;
	display: block;
	background: url(js/slider-pro/images/arrow-right.png) no-repeat left top;
	text-indent: -9999px;
	width: 60px;
	height: 60px;
	transform: none;
}
/*前矢印のアイコンフォント*/
#section_main_img_2 .sp-previous-arrow:before {
	content: ' ' !important;
	display: block;
	background: url(js/slider-pro/images/arrow-left.png) no-repeat left top;
	text-indent: -9999px;
	width: 60px;
	height: 60px;
	transform: none;
}

#section_main_img_2 .sp-next-arrow::after,
#section_main_img_2 .sp-next-arrow::before,
#section_main_img_2 .sp-previous-arrow::after,
#section_main_img_2 .sp-previous-arrow::before {
	background-color: transparent;
}

#section_main_img_2 .sp-previous-arrow::before,
#section_main_img_2 .sp-next-arrow::before {
	position: relative;
}

#section_main_img_2 .sp-previous-arrow::before {
	left: 0;
}

#section_main_img_2 .sp-next-arrow::before {
	right: 40px;
}

#section_main_img_2 .spTitle {
	display: none;
}

@media screen and (min-width: 780px) {
	#section_main_img_2 .text {
		padding: 0 100px;
	}
}
@media screen and (max-width: 779px) {
	#section_main_img_2 {
		margin-bottom: 2em;
	}
	#section_main_img_2  .img {
		line-height: 0;
	}
	#section_main_img_2 .sp-previous-arrow::before {
		left: -20px;
	}
	#section_main_img_2 .sp-next-arrow::before {
		right: 20px;
	}
	#section_main_img_2 .spTitle {
		display: block;
		padding: 5px 20px;
		background: #f4f4f4;
		width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	#section_main_img_2 .sp-mask {
		padding-bottom: 3em;
	}
}
@media screen and (max-width:479px) {
	#section_main_img_2 .text .btn a {
		padding: 8px 40px 8px 20px;
	}
	/*次矢印のアイコンフォント*/
	#section_main_img_2 .sp-next-arrow,
	#section_main_img_2 .sp-previous-arrow {
		display: none;
	}
}
/*--------------------------------------- index.html パターン2 */

#section_main_img .sp-slide {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
#section_main_img .sp-slides a {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: #333;
}
#section_main_img .sp-slides .img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
#section_main_img .sp-slides .main_img_box {
	background-color: #f4f4f4;
	padding: 10px 20px;

}
#section_main_img .sp-slides .main_img_title,
#section_main_img .sp-slides .main_img_text {
	display: block;
}
#section_main_img .sp-slides .main_img_title {
	font-size: 1.2em;
}
#section_main_img .sp-slides .main_img_text {
	display: block;
	border-top: 1px dotted #ccc;
	padding-top: 5px;
	margin-top: 5px;
}
#section_main_img .sp-slides .main_img_bg {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
@media screen and (min-width: 780px), print {
	#section_main_img .sp-slides .main_img_bg {
		display: table;
		width: 100%;
		height: 100%;
	}
	#section_main_img .sp-slides .main_img_box {
		max-width: 600px;
		margin: 20px;
		position: absolute;
		left: 0;
		bottom: 0;
	}
}
@media screen and (max-width: 779px) {
	#section_main_img .sp-slides .img {
		padding: 16% 0;
		display: block;
		position: relative;
	}
	#section_main_img .sp-slides .main_img_box {
		display: block;
	}
	#section_main_img .sp-slides .main_img_title,
	#section_main_img  .sp-slides .main_img_text {
		width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	#section_main_img .sp-slides .main_img_sub_title,
	#section_main_img  .sp-slides .main_img_text {
		font-size: 0.9em;
	}
	#section_main_img .sp-slides .main_img_title {
		font-size: 1.1em;
	}
}

/* .hidden_slide （スライド非表示の時） */
.hidden_slide {
	display:none;
}



/*--------------------------------------- common/index.php */

.body_common .con01 .list_thumbnail .text {
  padding: 0 0 0 20px;
}

.body_common .con01.choice li.displayNone {
  display:none; 
}


.body_common .con01.newArrival li.displayNone {
  display:inline-block; 
}
.body_common .con01.newArrival li:nth-child(n+7) {
  display:none; 
}


                      @media screen and (max-width:783px) {
                        .body_common .con01.newArrival .list_thumbnail li:nth-child(n+4) {
                          display:none;
                        }
                      }



/*--------------------------------------- news/index_detail.php */
.columnBox h2 {
	text-align: center;
	padding: 2em 0 4em 0;
}
                      @media screen and (max-width:708px) {
                        .columnBox h2 {
                          padding: 2em 0 1em 0;
                        }
                      }

.containerInner_news .thumbnail {
	display: block;
	text-align: center;
}
.containerInner_news .date {
	display: block;
	margin-bottom: 20px;
	padding: 0 0 10px;
	font-size: 0.9em;
	border-bottom: 1px solid #ddd;
}


/*--------------------------------------------------- works */

/* メインスライダー */
.img_list {
  margin-bottom: 30px;
}

.img_list .gallery_top .swiper-slide a {
	display: block;
	text-decoration: none;
	color: #876a41;
	padding: 20px;
}
.img_list .gallery_top .img_box{
	padding: 28% 0;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	display: block;
}
.img_list .gallery_top .icon_category {
	padding: 5px 20px;
	text-align: right;
	display: block;
	position: absolute;
	left: 0;
	top: 0px;
	background-color: #93634d;
	color: #fff;
	font-size:1.5em;
}
.img_list .gallery_top .caption {
	padding:0 20px;
	text-align: right;
	display: block;
}
.img_list .gallery_top .caption span {
	margin-top: -10px;
	padding: 5px 20px;
	display: inline-block;
	background-color: #fff;
	text-align: left;
	font-size: 1.4em;
}
/*サムネイルスライダー */
.img_list .gallery_thumbs {
	padding: 0 5px;
}
.img_list .gallery_thumbs .swiper-slide {
	width: 16.6%;
	padding: 10px 5px;
  float: left;
}
.img_list .gallery_thumbs .img_box{
	padding: 25% 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.img_list .gallery_thumbs .swiper-wrapper {
  display: block;
}

/* テキスト */
.body_works .con .text {
  width:54%;
  margin-top:0;
}
.body_works .con .pic {
  width:40%;
}
.body_works .con.floatNone .text,
.body_works .con.floatNone .pic {
  width:100%;
}
.body_works .mainPic img,
.body_works .con img,
.body_profile .con img{
  width:100%;
}

.body_works .mainPic img,
.body_works .con .picL,
.body_profile .con .picL{
  margin-bottom:20px;
}


/*--------------------------------------------------- gallery */
.searchWrapper {
  padding:9px 30px;
  background-color:#f6f6f6;
  margin-bottom: 50px;
}
                        @media screen and (max-width: 779px) {
                        .searchWrapper {
                           padding:10px 20px;
                        }
                        }

.searchWrapper h4 {
  margin:1em 0 0.7em;
}

.search-tag {
  background-color: #f8f8f8;
  padding: 30px 40px;
}
                        @media screen and (max-width: 520px) {
                        .search-tag {
                           padding: 10px 20px;
                        }
                        }

.search-tag ul {
  padding: 0 0 20px;
}

.search-tag li {
  display: inline-block;
	padding: 3px 2px;
}

                        @media screen and (max-width: 520px) {
                        .search-tag li {
                           padding: 4px 1px;
                        }
                        }



.search-tag li a {
    display: block;
    border: 1px solid;
    text-decoration: none;
    padding:3px 11px;
    color: #FFF;
    background-color: #676767;
}
                        @media screen and (max-width: 520px) {
                        .search-tag li a {
                           font-size: 0.8em;
                        }
                        .partTag {
                           padding-left:0;
                        }
                        }


/* mark_new */
.mark_new {
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 90px;
    height: 90px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 10;
    -webkit-transform: translate(25%, -25%);
    transform: translate(15%, -30%);
}

                      @media screen and (max-width:520px) {
                         .mark_new {
                                  width: 60px;
                                  height: 60px;
                        }
                         .body_common .mark_new {
                                  top: 30px;
                                  right: 20px;
                        }                        
                      }



.mark_new:before {
    position: absolute;
    content: "NEW";
    display: block;
    font-family: "Bodoni MT", "Bodoni 72", Didot, "Didot LT STD", "Hoefler Text", Garamond, "Times New Roman", serif;
    color: #000;
    font-size: 1.3rem;
}
                          .body_common .mark_new:before {
                              color: #FFF;
                          }

.mark_new:after {
    -webkit-animation: new_mark_border_ani 1s forwards 0.75s;
    animation: new_mark_border_ani 1s forwards 0.75s;
}

.mark_new:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 1px dashed #a3a3a3;
    border-radius: 100%;
    background-color: rgba(255, 255, 255, 0.5);
}
                          .body_common .mark_new:after {
                              border: 1px dashed #FFF;
                              background-color: rgba(0, 0, 0, 0.3);
                          }

/*--------------------------------------------------- service */
.body_service .con .text {
  margin-top:0;
}


/* --- area --- */
.area .msg {
  font-size: 1.1em;
}
.area ul {
  display: flex;
  flex-wrap: wrap;
  padding: 60px 30px 10px 10px;
  gap: 30px;
  margin:0;
}
@media (width <= 800px) {
  .area ul {
    padding: 30px 30px 10px 10px;
    gap: 30px;
  }
}
.area li {
  position: relative;
  width: calc(33.3333% - 20px);
  list-style: none;
  text-align: center;
  border: solid 1px #1d2129;
  padding: 20px 10px;
  box-shadow: 15px 15px #e0e0e0;
}
@media (width <= 800px) {
  .area li {
    width: calc((100% - 30px) / 2);
    margin-bottom:10px;
  }
}
@media (width <= 498px) {
  .area li {
    width: 100%;
  }
}

.area li span {
  display:block;
}
.area li span.title {
  font-size: 1.2em;
}
.area li img {
  width:70%;
  margin:10px auto 8px;
}
.area li span.text {
}

/* flex-schedul */
.flex-schedule {
  list-style: none;
  margin: 0 auto 60px 0;
  box-sizing: border-box;
  padding: 0;
}
                            @media screen and (max-width:779px) {
                            .flex-schedule {
                            		margin: 0 auto 0 0;
                            	}
                            }

.flex-schedule li {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;

}

.flex-schedule .schedule {
  padding: 20px 10px 30px 40px;
  display: block;
  width: 100%;
  border-left: 4px solid #8f8f8f;
}
                            @media screen and (max-width:779px) {
                            .flex-schedule .schedule {
                            		padding: 20px 0px 30px;
                                border: none;
                            	}
                            }

.flex-schedule li .time {
  display: inline-flex;
  justify-content: flex-end;
  flex-basis: 10em;
  max-width: 12em;
  margin-right: 2em;
  margin-top: 36px;
}

                            @media screen and (max-width:779px) {
                            .flex-schedule li .time {
                            		flex-basis: 5.5em;
                                display: none;
                            	}

                            }



.flex-schedule .sch_box {
  position: relative;
  min-height: 1em;
  padding: 20px 20px 30px;
  background: #FFF;
  border-radius: 2px;
  font-size: 1.06em;
}

.flex-schedule .sch_box::before {
  content: "";
  position: absolute;
  left: -52px;
  top: 20px;
  background: #3d3d3d;
  width: 20px;
  height: 20px;
  border-radius: 10px;
}
                            @media screen and (max-width:779px) {
                            .flex-schedule .sch_box::before {
                            		left: -36px;
                                content: none;
                            	}
                            .flex-schedule .sch_box {
                              padding: 20px 20px 20px;
                              }    
                            }


.flex-schedule .sch_title {
  font-weight: 700;
}
.flex-schedule .sch_title span {
  display:none;
}

                            @media screen and (max-width:779px) {
                            .flex-schedule .sch_title span {
                                display: block;
                            	}

                            }

.flex-schedule .sch_tx {
  font-weight: normal;
}
.flex-schedule .sch_tx.floatR {
  width: 58%;
  float: left;
  padding-top:1em;
}
.flex-schedule .sch_tx.floatR strong {
  font-weight:normal;
  background-color:#e8e8e8;
  padding: 3px;
}
.flex-schedule .pic2sheets .sch_tx.floatR {
  width: 40%;
}

.flex-schedule .sch_tx .btn01 a {
  font-size: 1em;
  margin: 1.5em auto 1em;
}

.flex-schedule .flowImage {
  width: 39%;
  float: right;
  margin-right: 1%;
}
.flex-schedule .pic2sheets .flowImage {
   width: 57%;
}

.flex-schedule .pic2sheets .flowImage span {
  width: 49%;
  float:left;
  display:block;
}
.flex-schedule .pic2sheets .flowImage span:last-of-type {
  float:right;
}

            @media screen and (max-width: 779px) {
            .flex-schedule .pic2sheets .sch_tx.floatR,
            .flex-schedule .pic2sheets .flowImage span,
            .flex-schedule .pic2sheets .flowImage span:last-of-type,
            .flex-schedule .pic2sheets .flowImage,
            .flex-schedule .sch_tx.floatR,
            .flex-schedule .flowImage{
               width: 100%;
              float: none;
            }
            .flex-schedule .flowImage{
               margin:1em 0;
            }
            .flex-schedule .pic2sheets .flowImage span:last-of-type {
              margin-top:10px;
              }
            }

.flex-schedule .flowImage img {
  width:100%;
}


/* ------- accordion */

.accordion {
  margin-bottom:20px;
}
.accordion dt {
  color: #333;
  font-weight: 600;
  padding: 15px 0 4px;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition-duration: 0.2s;
  border-bottom: dotted 1px #333;
  margin-bottom: 13px;
}
.accordion dt:hover {
  opacity: .8;
}

.accordion dt::before,
.accordion dt::after {
  content: "";
  position: absolute;
  bottom: calc(50% - 13px);
  right: 10px;
  width: 1px;
  height: 13px;
  border-radius: 9999px;
  background-color: #000000;
  transform-origin: 50% calc(100% - 1px);
  transition-duration: 0.2s;
}

.accordion dt::before {
  transform: rotate(45deg);
}

.accordion dt::after {
  transform: rotate(-45deg);
  right: 11px
}
.accordion dt.open::before {
  right: 2px;
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg);
  transition-duration: 0.2s;
}
.accordion dt.open::after {
  right: 19px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition-duration: 0.2s;
}

.accordion dd {
  display: none;
  background-color:#fafafa;
  border-radius:4px 4px;
  padding: 20px;
  font-size:0.9em;
}
.accordion dd ul {
  margin:0 0 10px;
  padding: 0 0 0 15px;
}
.accordion dd li {
  margin:0;
  list-style: disc;
  display: list-item;
}
.accordion dd.stay {
  display: block;
}

@media screen and (max-width: 1024px) {
  .accordion dt {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .accordion dt {
    font-size: 16px;
    text-align: left;
    padding: 15px 60px 15px 15px;
  }
}



.body_service .price {
  font-size:1.4em;
  margin-top: 20px;
}
.body_service .price span{
  font-size:0.7em;
}

.body_service .supplement {
  padding-bottom:30px;
}

/* voice */
.body_service .list_thumbnail .thumbnail span.image {
    padding: 50% 0;
}

.body_service .list_thumbnail .listBox {
  background:none;
}
.body_service .list_thumbnail li {
    width: 23%;
}
            @media screen and (max-width: 779px) {
            .body_service .list_thumbnail li {
               width: 47%;
            }
            }

.body_service .list_thumbnail .thumbnail {
  border-radius: 8rem 1rem 8rem 1rem;
}

/* review */
.body_service .review dl {
  margin-top:20px;
}
.body_service .review dt {
  margin-bottom:15px;
}

.body_service .review dt span {
  display:inline-block;
}
.body_service .review dt span.name {
  margin-right:10px;
}
.body_service .review dd {
  padding:20px 30px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 40px;
  font-size:1.05em;
}

.body_service .review dd span {
  display:block;
}

.body_service .review dl span.name {
  font-size: 1.2em;
  font-weight: bold;
}

.star5_rating{
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC; /* グレーカラー 自由に設定化 */
    /*font-size: 30px; フォントサイズ 自由に設定化 */
}

.star5_rating:before, .star5_rating:after{
    content: '★★★★★';
}

.star5_rating:after{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #ffcf32; /* イエローカラー 自由に設定化 */
}

.star5_rating[data-rate="5"]:after{ width: 100%; } /* 星5 */
.star5_rating[data-rate="4.5"]:after{ width: 90%; } /* 星4.5 */
.star5_rating[data-rate="4"]:after{ width: 80%; } /* 星4 */
.star5_rating[data-rate="3.5"]:after{ width: 70%; } /* 星3.5 */
.star5_rating[data-rate="3"]:after{ width: 60%; } /* 星3 */
.star5_rating[data-rate="2.5"]:after{ width: 50%; } /* 星2.5 */
.star5_rating[data-rate="2"]:after{ width: 40%; } /* 星2 */
.star5_rating[data-rate="1.5"]:after{ width: 30%; } /* 星1.5 */
.star5_rating[data-rate="1"]:after{ width: 20%; } /* 星1 */
.star5_rating[data-rate="0.5"]:after{ width: 10%; } /* 星0.5 */
.star5_rating[data-rate="0"]:after{ width: 0%; } /* 星0 */


.body_service .review dl .pic {
  margin:0;
  padding:20px 0 0;
}
.body_service .review dl .pic span {
  padding: 50% 0;
  display: block;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: inset 0 -1em 4em 1em rgba(0, 0, 0, 0.05);
  transition: all 0.5s ease-out;
}

.body_service .review dl .pic li {
  float:left;
  width:13%;
  margin:0 1.8% 20px 0;
  list-style: none;
}
  





/*--------------------------------------------------- voice and niwaism */

.body_niwaism .con .text,
.body_voice .con .text {
  width:54%;
  margin-top:0;
}

.body_niwaism .con .pic,
.body_voice .con .pic {
  width:40%;
}

.body_niwaism .con.floatNone .text,
.body_niwaism .con.floatNone .pic,
.body_voice .con.floatNone .text,
.body_voice .con.floatNone .pic {
  width:100%;
}

.body_niwaism .con .picL img,
.body_niwaism .mainPic img,
.body_niwaism .con img,
.body_voice .mainPic img,
.body_voice .con img {
  width:100%;
}

.body_niwaism .mainPic img,
.body_niwaism .con .picL,
.body_voice .mainPic img,
.body_voice .con .picL {
  margin-bottom:20px;
}

.body_niwaism .mainPic img,
.body_niwaism .con .picL img,
.body_voice .mainPic img,
.body_voice .con .picL img {
  border-radius: 8rem 1rem 8rem 1rem;
}

.body_niwaism .con .text02 {
  margin-top:30px;
  clear: both;
}

/*--------------------------------------------------- niwaism */
.body_niwaism .con06 {
  float:left;
  width:48%;
}
.body_niwaism .con07 {
  float:right;
  width:48%;
}
            @media screen and (max-width: 779px) {
            .body_niwaism .con06,
            .body_niwaism .con07{
               width: 100%;
               float: none;
            }
            }


.body_niwaism .con06 .text,
.body_niwaism .con07 .text {
  width:100%;
}
.body_niwaism .terms {
  padding:15px 40px;
  overflow-y: scroll;
  margin-top:40px;
  font-size:0.8em;
  width:70%;
  height:300px;
  border:solid 1px #ccc;
}
                      @media screen and (max-width:708px) {
                        .body_niwaism .terms {
                          width:100%;
                          padding: 15px 20px;
                        }
                      }



/*--------------------------------------------------- profile */

/* con01 */
                      @media screen and (max-width:708px) {
                        .body_profile .con01 {
                          margin-bottom:0;
                          padding-bottom: 0;
                        }
                      }

.body_profile .con01 dt {
  font-size: 1.7em;
  margin-bottom:20px;
}
                            @media screen and (max-width: 708px) {
                            .body_profile .con01 dt {
                                font-size:1.4em;
                            }
                            }

.body_profile .con01 dt span {
    display: inline-block;
    font-size: 0.6em;
    margin-left: 20px;
}

.body_profile .con01 .youtubeFrame {
	margin:80px auto 0;
}

/* con02 */
.no {
    color: #9e9e9e;
    display: inline-block;
    font-family: Jost, sans-serif;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 300;
    letter-spacing: .03em;
    margin-bottom: 13px;
    padding-bottom: 5px;
    position: relative;
}

/* con03 */
.body_profile .con03 .floatL,
.body_profile .con03 .floatR {
  width:45%;
  
}
                      @media screen and (max-width:708px) {
                        .body_profile .con03 .floatL,
                        .body_profile .con03 .floatR {
                          width:100%;
                          float:none;
                        }
                      }


/*--------------------------------------------------- company */

.body_company .con01 .pic {
  width:45%;
}
  
.body_company .con01 .text {
  width: 52%;
  margin-top: 0;
}
  
.flexBoxInfo {
  margin-bottom:30px;
}

.flexBoxInfo dl {
  position: relative;
  display: flex;
  font-size: 1.6rem;
  line-height: 3.0rem;
}

                    @media screen and (max-width: 821px) {
                        .flexBoxInfo dl {
                            display: block;
                        }
                    }              

.flexBoxInfo dt {
  border-top: solid 1px #111;
  -webkit-flex-basis: 20rem;
  flex-basis: 20rem;
  margin-right: 2rem;
  margin-bottom: 0;
  padding-top: 2.0rem;
  padding-bottom: 2.0rem;
  font-weight: bold;
}

                    @media screen and (max-width: 821px) {
                        .flexBoxInfo dt {
                          -webkit-flex-basis: 100%;
                          flex-basis: 100%;
                          margin-right: 0rem;
                          padding-top: 1.5rem;
                          padding-bottom: 2rem;
                        }
                    } 

.flexBoxInfo dd {
  border-top: solid 1px #e5e5e5;
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
  padding-top: 2.0rem;
  padding-bottom: 2.0rem;
}
                    @media screen and (max-width: 821px) {
                        .flexBoxInfo dd {
                          padding-top: 1.5rem;
                          padding-bottom: 2rem;
                        }
                    }

.flexBoxInfo .floatL {
  width:62%;
}
.flexBoxInfo .floatR {
  width:38%;
}
.flexBoxInfo .floatR img {
  width:100%;
}
                    @media screen and (max-width: 821px) {
                        .flexBoxInfo .floatL,
                        .flexBoxInfo .floatR {
                          float:none;
                          width:100%;
                        }
                    }


/*--------------------------------------------------- niwaism-member */
.body_niwaism-member .con {
  float:left;
  width:46%;
}
.body_niwaism-member .con:nth-of-type(even) {
  clear:both;
}
.body_niwaism-member .con:nth-of-type(odd) {
  float:right;
}
            @media screen and (max-width: 779px) {
            .body_niwaism-member .con:nth-of-type(even),
            .body_niwaism-member .con:nth-of-type(odd) {
               width: 100%;
               float: none;
            }
            }

.body_niwaism-member .thumbnail {
  margin-bottom:20px;
  position:relative;
}
.body_niwaism-member .thumbnail img {
  width:100%;
}
.body_niwaism-member .thumbnail span {
  position: absolute;
  display: inline-block;
  bottom: 13px;
  right: 3px;
  color: #FFF;
  background-color: #000;
  padding: 6px 26px;
}

/*--------------------------------------------------- contact */
.contact p {
	margin-bottom: 2em;
}

.body_contact p.bnr {
  padding:10px 20px 50px;
  text-align: center;
}
.body_contact p.bnr img {
  width:100%;
  max-width:1000px;
  border:solid 1px #313131;
}
.body_contact p.bnr img.sp {
  display:none;
}
            @media screen and (max-width: 779px) {
            .body_contact .pc {
              display:none!important;
            }
              .body_contact p.bnr img.sp {
              display:block;
            }
            }

.body_contact .btn01 {
  display:inline-block;
}
  
.body_contact .btn01:nth-child(n+2) {
  margin: .5em auto .5em 70px;
}

            @media screen and (max-width: 779px) {
            .body_contact .btn01 {
              display:block;
            }
              .body_contact .btn01:nth-child(n+2) {
              margin: .5em auto;
            }
              
            }





/* contact form */
.form_flow {
	width: 100%;
	margin: 20px auto 0;
	padding: 0;
	display: table;
	table-layout: fixed;
}

.form_flow li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	border-left: 10px solid #ffffff;
	padding: 0 5px;
	width: 34%;
	background-color: #adadad;
}

.form_flow li:first-child {
	border-left: none;
}

.form_flow li.current {
	background-color: var(--main-color);
}
.form_flow li.current span {
	color: var(--footer-txtcolor);
}

.form_flow li span {
	color: #ffffff;
	font-size: 0.9em;
	padding: 10px;
	width: 100%;
	display: block;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

.contact_msg {
	font-size: 0.9em;
	margin: 0 auto;
}

.contact_msg_complete {
	padding: 40px;
	box-shadow: inset 0 0 0 2px #f0f0f0;
}

.contact_msg .editor-style-btn1 {
	float: right;
}

.contact_msg .editor-style-btn1:after {
	content: "";
	display: block;
	width: 100%;
	clear: both;
}

.error_box {
	font-size: 0.95em;
	margin: 0 auto;
	background-color: #fff7f6;
	box-shadow: 1px 0px #e5e5e5,-1px 0px #e5e5e5;
	padding: 20px 5%;
}

.error_box .error {
	color: #e72719;
	font-weight: bold;
	padding-bottom: 10px;
	border-bottom: 2px solid #e72719;
}

.error_box .error_msg {
	margin-top: 20px;
}

.contact form {
	text-align: center;
}

#input-table {
	display: block;
	width: 100%;
	max-width: 100%;
}

#input-table table {
	width: 100%;
	padding: 5px;
	margin: 0 auto 20px;
	border: none;
	box-shadow: inset 0 0 0 2px #f0f0f0;
	background-color: #ffffff;
}

#input-table table li {
	margin-left: 0;
}

#input-table table th {
	width: 35%;
	padding: 20px 60px 20px 30px;
	color: #3f4242;
	background: rgba(0, 0, 0, 0);
	text-align: left;
	border: none;
	position: relative;
	vertical-align: top;
}

#input-table table td {
	padding-left: 10px;
}

#input-table table tr {
	transition: linear 0.2s;
	border-top: 1px solid #ccc;
}

#input-table table tr:hover {
	background-color: rgba(0, 0, 0, 0.05);
}

#input-table table tr:first-child {
	border-top: 5px solid #f0f0f0;
}

#input-table table tr:last-child {
	border-top: 2px solid #f0f0f0;
}

.input_required,
.input_not_required:before {
	font-size: 0.9em;
	padding: 2px 6px;
	display: inline-block;
	background-color: var(--main-color);
	color: var(--footer-txtcolor);
	position: absolute;
	right: 10px;
	top: 20px;
}

.input_not_required:before {
	content: "任意";
	background-color: #adadad;
	text-align: center;
}

#input-table table td {
	padding: 20px 30px;
	border: none;
	text-align: left;
}

#input-table table tr:last-child td {
	text-align: center;
}

#input-table div.formcomment {
	clear: both;
	margin-left: 7px;
	margin-top: 3px;
}

#input-table table td ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

input[type="text"],
input[type="password"] {
	border: 0;
	padding: 4px;
	border: solid 1px #ccc;
	max-width: 100% !important;
	resize: none;
	border-radius: 5px;
}

.body_textbook_form input[type="text"] {
	margin-bottom: 10px;
}

#input-table table .form_input_addnumber {
	width: 40% !important;
}

#input-table table textarea {
	padding: 10px;
	width: 96% !important;
	border: solid 1px #ccc;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

input:focus,
input:textarea {
	border: solid 1px #3ba5eb;
}

.input_button {
	font-size: 0.9em;
	font-weight: bold;
	-webkit-appearance: none;
	padding: 4px 10px;
	background-color: var(--main-color);
	color: var(--footer-txtcolor);
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

#input-table .input_button {
	padding: 10px 50px;
}

#input-table .submit_button {
	text-align: center;
	padding-top: 20px;
}

#input-table .privacy {
	font-size: 0.9em;
	height: 200px;
	overflow: auto;
	border: 1px solid #ddd;
	padding: 10px;
	background: #ffffff;
	border-radius: 3px;
}

/* セパレーター */
#input-table table tr.input-formgroup-blank th{
	background:#F0F0F0;
	border:none;
}
#input-table table tr.input-formgroup{
	padding-top:20px;
}
#input-table table tr.input-formgroup th{
	text-align:left;
	border:none;
	padding:10px 0 5px 50px;
	background-image:url(./img/icon_arrow_down.png);
	background-repeat:no-repeat;
	background-position: 5px 10px;
	background-color:#074D93;/* セパレーターth背景色 */
	border-top:2px solid #EEEEEE;
	border-left:2px solid #EEEEEE;
	border-right:2px solid #EEEEEE;
	border-bottom:1px solid #EEEEEE;
	border-radius: 5px 5px 0 0 / 5px 5px 0 0;
	-webkit-border-radius: 5px 5px 0 0 / 5px 5px 0 0;
	-moz-border-radius: 5px 5px 0 0 / 5px 5px 0 0;
}
#input-table table tr.input-formgroup th.formgroup-closed{
	background-image:url(./img/icon_arrow_down.png);
	background-repeat:no-repeat;
	background-position: 5px 10px;
	border-bottom:2px solid #EEEEEE;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#input-table table tr.input-formgroup th:hover{
	cursor:pointer;
	filter: alpha(opacity=90);
	opacity:0.90;
	-moz-opacity:0.90;
	-ms-filter: "alpha(opacity=90)";
}
#input-table table tr.input-formgroup span.input-formgroup-title{
	display:block;
	color:#FFFFFF;/* セパレータータイトル文字色 */
	font-size:1.3em;/* セパレータータイトル文字サイズ */
	padding-bottom:5px;
}
#input-table table tr.input-formgroup span.input-formgroup-text{
	position: relative;
	display:block;
	color:#FFFFFF;/* セパレーター説明文文字色 */
	padding:0 5px 0 1em;
	margin:5px 10px 10px 10px;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
}
#input-table table tr.input-formgroup span.input-formgroup-text:before{
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 0.5em;
	height: 0.5em;
	background: #FFFFFF;
	content:"";
	border-radius: 1px;
	-webkit-border-radius: 1px;
	-moz-border-radius: 1px;
}
#input-table table tr.input-formgroup span.input-formgroup-text a:visited,
#input-table table tr.input-formgroup span.input-formgroup-text a:link{
	color:#FFFFFF;/* セパレーター説明文内リンク色1 */
	text-decoration:underline;
}
#input-table table tr.input-formgroup span.input-formgroup-text a:hover,
#input-table table tr.input-formgroup span.input-formgroup-text a:active{
	color:#66FFFF;/* セパレーター説明文内リンク色2 */
	text-decoration:underline;
}
@media screen and (max-width:779px) {
	#input-table table {
		width: 100%;
		border-collapse: collapse;
		border-bottom: 1px solid #CCCCCC;
	}

	#input-table table th ,
		#input-table table td {
		width: 100%;
		display: block;
		border-top: none;
		text-align: left;
	}

	#input-table table th {
		padding: 6px 45px 6px 12px;
		background: #eeeeee none repeat scroll 0 0;
		font-weight: normal;
	}
	#input-table table td {
		padding-bottom: 20px;
	}
	#input-table table td:after {
		content:"";
		display:block;
		clear:both;
	}
	input[type="text"], input[type="password"] {
		width: 100%!important;
	}
	#input-table table textarea {
		width: 96%;
		max-height: 24vw;
		font-size: 110%;
	}
	.input_required,
	.input_not_required:before {
		position: absolute;
		right: 10px;
		font-size: 0.8em;
		top: 6px;
	}
}
@media screen and (max-width:479px) {
	.form_flow li {
		display: block;
		width: 100%;
		border-left: 10px solid #cccccc;
		border-top: 1px dotted #ccc;
		text-align: left;
	}
	.form_flow li:first-child {
		border-top: none;
	}
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.body_common contents */

/*--------------------------------------- container */

html {
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	height: 100%;
	margin: 0;
	padding: 0;
}

header #header_inner,
.breadCrumb ul,
.layout02,
.copy div,
article {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

/*--------------------------------------- header */
header {
	position:fixed;
	z-index: 9999;
  width:100%;
  z-index: 11;
}
header #header_inner {
	padding: 30px 20px;
  font-size: 1.1em;
}
header a {
	color: #333;
	text-decoration: none;
	display: block;
}

header a:hover {
	text-decoration: underline;
}

nav.gNavi {
	display: inline-block;
	vertical-align: middle;
	float: right;
}
nav.gNavi ul {
	padding:0;
}

                        @media screen and (max-width: 1475px) {
                        header #header_inner {
                            padding: 30px 140px 30px 20px;
                        }
                        }
                        @media screen and (max-width: 1300px) {
                        nav.gNavi {
                            margin-right: 40px;
                        }
                        }
                        @media screen and (max-width: 1200px) {
                        header #header_inner {
                            padding: 30px 170px 30px 20px;
                        }
                        nav.gNavi {
                            margin-right: 20px;
                        }
                        }
                        @media screen and (max-width: 1143px) {
                        nav.gNavi {
                            width: 80%;
                        }
                        }



                        @media screen and (max-width: 821px) {
                        nav.gNavi {
                            display:none;
                        }
                        }



header #header_logo,
nav.gNavi li {
	display: inline-block;
	vertical-align: middle;
}
header #header_logo {
	font-size: 1em;
}
header div {
	position: relative;
}

header #header_logo img,
header #header_logo span {
	display: inline-block;
	vertical-align: middle;
}
header #header_logo img {
	max-height: 40px;
	width: auto;
}
header #header_logo span {
	font-size: 0.9em;
	padding: 0 20px;
}

/* global navigation */
nav.gNavi li {
	border-bottom: none;
}

nav.gNavi li span {
	display: none;
}

nav.gNavi li a {
  color: #FFF;
	display: block;
	padding: 0.5em 0.6em;
	text-decoration: none;
}
                        @media screen and (max-width: 1143px) {
                        nav.gNavi ul {
                            padding: 0;
                            margin-top: -13px;
                            }
                        nav.gNavi li a{
                            padding: 0 0.6em;
                        }
                        }

nav.gNavi li .header_sub_nav{
	display: none;
	font-size:0.85em;
	max-width: 300px;
	padding: 0px;
	position: absolute;
	z-index: 1000;
}
nav.gNavi li .header_sub_nav li{
	width: 100%;
	background-color: #FEFEFE;
	border-top:1px solid #EEEEEE;
}
nav.gNavi li .header_sub_nav li.menulevel3{
	padding-left:7px;
}
nav.gNavi li .header_sub_nav li.menulevel4{
	padding-left:14px;
}
nav.gNavi li .header_sub_nav li.menulevel5{
	padding-left:21px;
}

@media screen and (max-width:479px) {
	header #header_inner {
		padding: 10px 60px 10px 10px;
	}
	header #header_logo a {
		display: block;
		padding: 10px;
		text-align: left;
	}
	header #header_logo span {
		display: none;
	}
}

/* sns */
header ul.sns {
  margin:0;
  position:fixed;
  top: 20px;
  right: 60px;
  padding: 0;
}

header ul.sns li {
  list-style: none;
  display:inline-block;
}
header ul.sns li a {
  padding: 4px 3px;
  width: 63px;
  display:block;
}
header ul.sns img {
  width:100%;
}


/*--------------------------------------- kayFrame */

/*--------------------------------------- mainContaints */
.container {
	padding: 30px 0;
}
.container:nth-of-type(even),
.bg_gray {
	background-color: #f4f4f4;
  padding:80px 0;
}

                      @media screen and (max-width:708px) {
                        .container:nth-of-type(even),
                        .bg_gray {padding:40px 0 20px;}
                      }


.container {
  position:relative;
  z-index:11;
  background-color:#FFF;
}
.body_common .container {
  background-color: #202020;
}
.body_common .container:first-of-type {
	margin-top: 100vh;
}

.container article {
	padding: 0 20px;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: main.body_common */
article,
.con {
	margin-bottom: 30px;
}

.con {
	padding-bottom: 30px;
}

.entry {
	padding-bottom: 50px;
}

.entry li {
	margin-left: 2em;
}
@media screen and (max-width:779px) {
	article,
	.con {
		margin-bottom: 10px;
	}

	.con {
		padding-bottom: 10px;
	}
	.container {
		padding: 20px 0 40px;
    margin-top: -1px;
	}
}


/*--------------------------------------- sideContaints */
#side {
	padding: 10px;
	border: 1px solid #ddd;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
#side .menu_title {
	background-color: #f4f4f4;
	font-size: 1.1em;
	padding: 1em 20px;
	word-wrap: break-word;
	overflow-wrap: break-word;
	box-sizing: border-box;
}

#side ul {
	padding: 10px 0 0 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

#side ul li {
	border-top: 1px solid #dddddd;
	position: relative;
}
#side ul li:first-child {
	border-top: none;
}
#side li a {
	color: #333;
	font-size: 0.95em;
	text-decoration: none;
	display: block;
	padding: 0.5em 0.5em 0.5em 2em;
	transition: linear 0.2s;
}
#side li a:before {
	content: "\f105";
	position: absolute;
	left: 1em;
	top: 50%;
	margin-top: -0.5em;
}

#side li a:hover {
	color: #2B71B7;
}
#side li.current a {
	color: var(--footer-txtcolor);
	background-color: var(--main-color);
}
#side li.current a:before {
	content: "\f0da";
}
@media screen and (min-width:780px) {
	.columnBox .column_side {
		width:320px;
	}
}
@media screen and (max-width: 779px) {
	.columnBox .column_side {
		padding: 1em 0 0;
	}
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: lower.body_common */
.lower {
  word-break: break-all;
}

/* breadCrumb */
.breadCrumb {
	font-size: 0.9em;
	background-color: #FFF;
  margin-top: 307px;
  position:relative;
  z-index:11;
  padding: 10px 0;
}
                        @media screen and (max-width: 779px) {
                        .breadCrumb {
                           margin-top: 198px;
                        }
                        }

.breadCrumb ul {
	padding: 0.5em 20px;
}
.breadCrumb li {
	display: inline;
  padding-right: 92px;
  position: relative;
}
                        @media screen and (max-width: 779px) {
                        .breadCrumb li {
                           padding-right: 43px;
                        }
                        }

.breadCrumb li a {
	color: #999;
	padding-right: 16px;
	text-decoration: none;
}
                        @media screen and (max-width: 779px) {
                        .breadCrumb li a {
                           padding-right: 14px;
                        }
                        }

.breadCrumb li::before {
  background-color: #333333;
  content: "";
  height: 1px;
  position: absolute;
  right: 11px;
  top: 50%;
  transform: translateY(-50%);
  width: 75px;
}
                        @media screen and (max-width: 779px) {
                        .breadCrumb li::before {
                           width: 38px;
                           right: 6px;
                        }
                        }

.breadCrumb li:last-of-type::before {
  display:none;
  
}

/*--------------------------------------- pagetop link */
#pgtp {
	border-bottom: solid 1px #b5c3df;
}

#pgtp p {
	text-align: right;
	padding: 20px 0 16px;
}
                        @media screen and (max-width: 779px) {
                                    #page_top {
                                       bottom: 45px!important;
                                       right: 20px!important;
                                    }
                        }


  

/*--------------------------------------- pageprev/next link */
.page_link {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 20px 0;
	text-align: center;
}

.page_link a.page_link_left {
	margin: 0 10px 0 0;
	padding: 0 0 0 12px;
	background: url(img/icon_page_link_left.gif) no-repeat left center;
}

.page_link a.page_link_right {
	margin: 0 0 0 10px;
	padding: 0 12px 0 0;
	background: url(img/icon_page_link_right.gif) no-repeat right center;
}
/*--------------------------------------- pager */
.pager_box{
	clear:both;
	text-align:center;
	margin-top:15px;
}
.pager_box .pager{
	width:2.5em;
	display:inline-block;
	border:1px solid #0f0f0f;
	border-radius:100%;
  padding: 0;
  margin-right: 10px;
  background-color:#0f0f0f;
  color:#FFF;
}
.pager_box .pager a{
	display:block;
	width:100%;
	padding: 0.4em 0.3em 0.3em 0.3em;
}
.pager_box .pager a:link,
.pager_box .pager a:visited{
	color:#FFF;
	text-decoration:none;
}
.pager_box .pager a:hover,
.pager_box .pager a:active{
	background:#393939;
	text-decoration:none;
  border-radius:100%;
}
.pager_box .pager_current{
	background:#F1F1F1;
  padding: 0.4em 1.3em 0.4em 1em;
  width: 2.6em;
  border:1px solid #c0c0c0;
  color:#000;
}
.pager_box .pager_dot{
	width:1.5em;
	display:inline-block;
}
.pager_box .pager_space{
	width:1em;
	display:inline-block;
	padding-left:0.2em;
	padding-right:0.2em;
}
.pager_box .pager_first{
	display:inline-block;
}
.pager_box .pager_last{
	display:inline-block;
}

/*--------------------------------------- footer */
footer {
  position:relative;
  z-index:12;
}

footer .ftContact {
  padding: 40px 0 0;
  height: 100%;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  color: #FFF;
  background-repeat:no-repeat;
  background-position:50% 100%;
  background-size:cover;
  background-image: url(img/ft_bg.jpg);
  background-attachment:fixed
}
                        @media screen and (max-width: 779px) {
                        footer .ftContact {
                            background-attachment: scroll;
                        }
                        }

footer .ftContact dt {
  font-size:2.7em;
  padding-bottom: 30px;
}
footer .ftContact dt span {
  font-size:0.3em;
  display:block;
}
footer .ftContact ul {
  text-align: center;
  padding:80px 0 70px;
}
footer .ftContact li {
  list-style:none;
  display: inline-block;
  vertical-align: middle;
  max-width: 100px;
  margin-right: 10px;
}
                        @media screen and (max-width: 779px) {
                        footer .ftContact li {
                            margin-right: 2%;
                            width: 20%;
                        }
                        }


footer .ftContact li:last-of-type {
  margin-right: 0;
}
footer .ftContact a {
	color: var(--footer-txtcolor);
  text-decoration: none;
  border: solid 1px #FFF;
  display: inline-block;
}
footer .ftContact a img {
  width:100%;
}


footer article {
	width: 100%;
  margin-bottom: 0;
  padding: 0 20px;
}
footer .footerBox_1 {
  padding: 60px 0;
  color: var(--footer-txtcolor);
	background-color: var(--main-color);
}

footer nav li {
	list-style: none;
	clear: both;
}
footer nav li a {
	text-decoration: none;
	padding: 5px 10px;
	display: block;
  color: var(--footer-txtcolor);
}
footer .footerBox_1 strong {
  font-size: 1.2em;
  display:block;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: solid 1px #cbcbcb;
}

footer .footerBox_2 {
	color: #777;
	background-color: #fff;
	padding: 1em 0;
  text-align: right;
}
                    @media screen and (max-width:779px) {
                    footer .footerBox_2 {
                    text-align: center;
                    }
                    }

footer .fLogo a {
	display: inline-block;
	transition: linear 0.2s;
	opacity: 0.8;
}
footer .fLogo a:hover {
	opacity: 1;
}
footer .fLogo img {
	max-height: 40px;
	width: auto;
}
footer .copyright {
	font-size: 0.85em;
}
@media screen and (max-width:779px) {
	footer {
		text-align: center;
	}
  footer p {
		text-align: left;
	}
  footer p.copyright {
		text-align: center;
	} 
  
  .footerBox_1 {
    text-align: left;
	}
	.footerBox_1 p {
		text-align: center;
	}  
  .footerBox_1 ul {
    padding:0;
  }
  .footerBox_1 .columnBox .column {
    padding: 1em 0;
}
}



/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: clear */
.body_service .review dl .pic:after,
.flex-schedule .sch_box:after,
.con:after,
.entry:after,
article:after,
ul:after,
section:after,
header:after,
header div:after,
footer:after,
.clearFix:after {
	content: "";
	display: block;
	clear: both;
}



/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: cms setting */

/* フォームツールチップ */
.invisible {
	display: none;
}

a.tooltiplink {
	display: inline-block;
	margin: 1px 3px 0;
	padding: 1px 3px 0;
	border: 2px solid #C7C7C7;
	background-color: #075698;
	border-radius: 5px;
	-moz-border-radius: 5px;
	text-decoration: none;
	color: #FFFFFF;
	font-size: 1.0em;
	font-weight: bold;
}

#input-table a.tooltiplink:link,
#input-table a.tooltiplink:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: none;
}

#input-table a.tooltiplink:hover,
#input-table a.tooltiplink:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: none;
}

a.tooltiplink:link,
a.tooltiplink:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: none;
}

a.tooltiplink:hover,
a.tooltiplink:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: none;
}

p.tooltipbox {
	position: absolute;
	top: 100px;
	left: 20px;
	font-size: 1.0em;
	margin: 0;
	padding: 10px;
	min-width: 100px;
	min-height: 30px;
	color: #FFFFFF;
	background: #075698;
	border: 2px solid #075698;
	border-radius: 5px;
	-moz-border-radius: 5px;
}

#input-table p.tooltipbox a:link,
#input-table p.tooltipbox a:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: underline;
}

#input-table p.tooltipbox a:hover,
#input-table p.tooltipbox a:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: underline;
}

p.tooltipbox a:link,
p.tooltipbox a:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: underline;
}

p.tooltipbox a:hover,
p.tooltipbox a:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: underline;
}

/* comment form */
.comment_box {
	width: 100%;
	margin: 0 0 15px;
	padding: 0;
	border-collapse: collapse;
	border: solid 1px #cccccc;
	background: #eeeeee;
}

.comment_box th,
.comment_box td {
	padding: 10px;
}

.comment_id {
	width: 10%;
	text-align: left;
	white-space: nowrap;
}

.comment_name {
	width: 70%;
	text-align: left;
}

.comment_regist {
	width: 20%;
	text-align: right;
	vertical-align: bottom;
	white-space: nowrap;
	font-size: 0.8em;
	color: #aaaaaa;
}

.comment_box td {
	padding-top: 0;
}

.comment_text {
	padding: 15px;
	background: #ffffff;
}

.icon_comment {
	text-align: right;
}

.icon_comment a {
	padding-left: 30px;
	background: url(./icon_comment.gif) no-repeat left center;
}

/* twitter widget */
#twtr-hd h3,
#twtr-hd h4,
.twtr-widget h3,
.twtr-widget h4,
.twtr-widget p,
.twtr-widget-profile h3,
.twtr-widget-profile h4 {
	clear: none;
	margin: auto;
	padding: auto;
	font-size: auto;
	color: auto;
	border: none;
	background-image: none;
}
/* twitter tweet button */
iframe.twitter-share-button {
	width: 115px!important;
}

/* フォームエラー */
.error_msg,
.error_msg_js {
	padding : 5px 5px 5px 20px;
	background: url(./img/form_error.gif) left 7px no-repeat;
}