.top_main span{
	display:inline-block;
}
.bgcontent{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	max-width: 100% !important;
	background-color: #fff;
}
.bgcontent2{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	max-width: 100% !important;
	background-color: #F3F3F3;
}

#bgbody {
	background: linear-gradient(#1d6ee7, pink);
	inset:0;
	display: block;
	position: fixed;
	z-index: -1;
}
#bgoutline::before, #bgoutline::after, #bgoutline > div::before, #bgoutline > div::after {
	content: "";
	display: block;
	position: fixed;
	z-index: 9999;
}
#bgoutline > div::before, #bgoutline > div::after {
	background: linear-gradient(#1d6ee7, pink);
}
#bgoutline::before{
	background: linear-gradient(#1d6ee7,#1d6ee7);
}
#bgoutline::after {
	background: linear-gradient(pink,pink);
}
#bgoutline::before, #bgoutline::after {
	width: 100%;
	height: 10px;
	left: 0;
}
#bgoutline::before {
	top: 0;
}
#bgoutline::after {
	bottom: 0;
}
#bgoutline > div::before, #bgoutline > div::after {
	width: 10px;
	height: 100%;
	top: 0;
}
#bgoutline > div::before {
	left: 0;
}
#bgoutline > div::after {
	right: 0;
}
#cbody_moyo{
	position:absolute;
	width:100%;
	z-index:-1;
}
.content_body{
	position:relative;
	width:calc(100% - 160px);
	padding:0 80px;
}
.content_body > div{
	width:100%;
	max-width:1100px;
	margin:auto;
}
.pc {
	display:block;
}
.pc_flex {
	display:flex;
}


.sp {
	display:none;
}
.sp_flex {
	display:none;
}

html {
	scroll-behavior: smooth;
}
.white {
	color:#fff;
}

.gray {
	color:rgb(0,0,0,0.8);
}

a {
text-decoration: none;
}

a,a:hover,a:visited{
    color: inherit;
}

.color_btn {
	width:330px;
	color:#fff;
	font-size:20px;
	font-weight:bold;
	border-radius:35px;
	background-image:linear-gradient(90deg, #1d6ee7 0%, #ad6fc9 100%);
	text-align:center;
	letter-spacing: 0.08em;
	padding:20px 0;
}

header {
	height:100px;
	width:calc(100% - 3vw);
	padding-top:30px;
	padding-left:3vw;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position:relative;
	z-index:99;
}

.header_logo{
	width:20%;
}

.header_logo img {
	max-width:100px;
}

.header_manu {
	width:calc(80% - 160px);
	display:flex;
	justify-content: flex-end;
	margin-right:2vw;
}

.menu_c {
	font-size:18px;
	font-weight:bold;
	text-align:center;
	display:flex;
	flex-direction: column;
	margin: 0 20px;
}

.menu_mini {
	display:block;
	letter-spacing: 0.1em;
	font-size:12px;
	color:#787878;
	text-align:center;
}


#main {
//	background-color:rgb(255,255,255);
	width:100%;
	font-family: "source-han-sans-japanese", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

#content_top {
	height:800px;
}
/*トップ*/

.top-btn {
	margin-top:30px;
}

.top_main {
	position:relative;
	width:100%;
	display:flex;
	padding-top:80px;
}

.top_title {
	font-size:110px;
	font-weight:bold;
	border-bottom: 13px solid #000;
	display: inline-block;
	padding-bottom: 0px;
}

.top_sub {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	font-weight:bold;
	font-size:15px;
	letter-spacing: 0.2em;
}

.top_left {
	position:absolute;
	left:-60px;
	margin-left:20px;
	margin-right:20px;
	margin-top:23px;
}

.top_title_mini {
	font-size:38px;
	font-weight:bold;
	letter-spacing: 0.12em;
	margin-top:25px;
	height: 1em;
}

/*私達について*/

#content_about{
}

.title01 {
	display:flex;
	padding:110px 0;
}

.title01-left{
	width:50%;
}

.title01-right{
	width:50%;
	font-size:17px;
	font-weight:bold;
	line-height: 1.9em;
	  text-align: justify; // Required for IE and Edge 
  text-align-last: right;
}

.left-mt {
	font-size:50px;
	font-weight:bold;
	display:flex;
	flex-direction: column;
}

.left-mt2 {
	color: #989898;
	font-size:19px;
	font-weight:bold;
	flex-direction: column;
	margin-top:5px;
}

/*事業内容*/



#content_business {
	background-color:#F3F3F3;
}

.business_icon {
	background-color:#fff;
	padding: 75px 108px 62px;
	display:flex;
	flex-direction: column;
	align-items: center;
	padding-top:40px;
}

.business_title {
	font-size:50px;
	font-weight:bold;
		white-space: nowrap;
}

.business_title_mini {
	font-weight:bold;
	font-size:19px;
	letter-spacing: 0.12em;
	margin-top:10px;
}

#ring {
	margin:0 auto;
	width:250px;
	height:250px;
	background-image: url(../image/3.png);
	background-size: cover;
	margin-top:90px;
	position: relative;
}

.ring-1 ,.ring-2 ,.ring-3 {
	width:150px;
	position:absolute;
}

.ring-1 img {
	width:100%;
}

.ring-1 {
    top: -25%;
    left: 20%;
}

.ring-2 img {
	width:100%;
}

.ring-2 {
	left:-30%;
	bottom:-8%;
}
.ring-3 img {
	width:100%;
}

.ring-3 {
	right:-30%;
	bottom:-8%;
}

.business_content {
	width:100%;
	display:flex;
	margin-top:30px;
	justify-content: space-between;
	padding-bottom:100px;
}

.business_box {
	width:calc(32% - 60px);
	background-color:#fff;
	display: flex;
    flex-direction: column;
    align-items: center;
	padding: 45px 30px 30px;
}

.box-title {
	font-size:35px;
	font-weight:bold;
}
.box-title-mini {
	font-size:18px;
	font-weight:bold;
}

.box-text {
	margin-top:20px;
	font-size:15px;
	line-height: 1.8;
	  text-align: justify; // Required for IE and Edge 
  text-align-last: right;
}

.business {
	padding-top:0;
}

/*代表あいさつ*/

#content_greeting {
	background-color:#fff;
}

.daihyou {
	width:100%;
	text-align:right;
	margin-top:50px;
	padding-right:10px;
}

.daihyou img{
	max-width:100px;
	padding-right:10px;
}

/*会社概要*/

#content_company {
	background-color:#F3F3F3;
}

.company-list-01 {
	color: #989898;
	font-weight: bold;
	font-size:16px;
	letter-spacing: 0.1em;
	margin-bottom:25px;
}

.company-list-02 {
	color:#000;
	font-weight: bold;
	font-size:18px;
	margin-top:-5px;
	display:block;
}

/*TOP問い合わせ*/

#content_content {
	background-image: linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.7)),url(../image/contact.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
}

.center_t {
	align-items: center;
}

.center_r {
	display:flex;
	justify-content: flex-end;
}

/*フッター*/

#footer {
	display:flex;
	flex-direction: column;
    align-items: center;
	padding-top:100px;
	padding-bottom:20px;
}

#footer img {
	width:100px;
	margin-bottom:50px;
}

.footer_menu {
	display:flex;
	justify-content: center;
}

.copyright {
	font-size:14px;
	text-align:center;
	padding-top:50px;
	font-weight:bold;
}


/*コンタクトページ(別)*/

#content_contact-b {
	background-color:#fff;
	margin-top:-130px;
}

.contact-b-title {
	font-size:20px;
	margin-top:15px;
}

.l-b {
	width:35%;
}

.r-b {
	width:65%;
}

.b-space {
	padding-top:250px;
}

/*問い合わせフォーム*/
#inquiry_main {
	background: #6F9FBC;
	padding: 50px 0 0 0;
}

hr {
	margin-top:20px;
}

#inquiry_top {
	width:800px;
	border-radius: 20px;
	padding:50px 0 50px 0;
	display:flex;
	flex-direction: column;
	align-items: center;
	margin: 0 auto;
	color:#fff;
}

#inquiry_title {
	font-size:25px;
	font-weight:bold;
}

#inquiry_top img {
	max-width:250px;
	margin:30px 0;
}

.inquiry_text {
	font-size:18px;
}

#inquiry_main2 {
	width:100%;
	padding-top:30px;
	font-weight:normal;
}

#inquiry_content {
	width:100%;
	margin:0 auto;
	padding:50px 0;
	font-size:20px;
}

.red {
	color:red;
}

input, textarea, select {
	width: calc(100% - 16px);
	height: 52px;
	border: solid 1px;
	margin-top: 5px;
	border-radius: 2px;
	padding-left: 15px;
}

input:placeholder-shown {    color: #ccc; }
 
/* Google Chrome, Safari, Opera 15+, Android, iOS */
input::-webkit-input-placeholder {    color: #ccc; }
 
/* Firefox 19+ */
input::-moz-placeholder {   color: #ccc; opacity: 1; }

#inquiry_content li {
	margin-bottom: 32px
}

.textarea2 {
	height: 260px;
}

textarea {
	resize: none;
}

#inquiry_button {
	background-color:#6F9FBC;
	color:#fff;
	width:200px;
	padding:30px;
	cursor: pointer;
	margin: 50px auto;
}

#inquiry_button:hover {
	opacity: 0.8;
}

#inquiry_caution {
	background-color:rgb(111,153,178,0.3);
	font-size:16px;
	padding:30px;
	width:calc(100% - 50px);
	margin-top:100px;
	margin-bottom:70px;
}

/*問い合わせフォーム スマホ*/

@media (max-width:900px) {

#inquiry_main {
	padding: 5vh 0 0 0;
}

#inquiry_top {
	width:100%;
	padding:5vh 0;
}

#inquiry_title {
	font-size:7vw;
}

#inquiry_top img {
	width:50%;
	max-width:none;
}

.inquiry_text {
	font-size:5vw;
	padding:0 5%;
}

#inquiry_main2 {
	width:calc(100% - 10%);
	padding:5vh 5%;
}

#inquiry_content {
	width:100%;
	padding:5vh 0;
	font-size:18px;
}

input, textarea, select {
	width:calc(100% - 15px);
}

#inquiry_caution {
	font-size:4vw;
	width:calc(100% - 60px);
	margin: 3vh 0;
}

.contact-b-title {
	padding-left:5%;
}

hr {
	margin-left:5%;
}


}


/*特殊設定 1100px以下の場合*/

@media (max-width:1100px) {

.top_title {
	font-size: 9vw;
	border-bottom: 1.3vw solid #000;
}

.top_title_mini {
	font-size:3.2vw;
}


.menu_c {
	font-size:2vw;
	margin: 0 1.5vw;
	white-space: nowrap;
}

.menu_mini {
	font-size:1.3vw;
}

.business_title {
	font-size:4vw;
	white-space: nowrap;
}

.business_box {
	width: calc(100% - 60px);
	margin-bottom:20px;
}

.business_content {
	flex-direction: column;

}


.rpt {
	text-align:left;
	white-space:nowrap;
}



.pc {
	display:none;
}

.sp {
	display:block;
}

.ipad {
	display:block;
}



}


/*スマホ設定 780px以下の場合*/

@media (max-width:780px) {


.top_title {
	font-size:10vw;
}

.content_body {
	padding: 0 10vw;
	width:calc(100% - 20vw);

}

.top_title_mini {
	font-size:4vw;
}


.color_btn {
	width:60vw;
	font-size:4vw;
}

header {
	height:10vw;
}

.header_logo img {
	max-width:20vw;
}

.header_logo {
	margin-top:5vw;
	margin-left:5vw;
}

.top_main {
	padding-top:150px;
}

#content_top {
	min-height:700px;
}

.title01 {
	padding:15vw 0;
	flex-direction: column;
}

.left-mt {
	font-size:8vw;
}

.left-mt2 {
	font-size:4.5vw;
}

.title01-left ,.title01-right {
	width:100%;
}

.title01-right {
	font-size:14px;
	margin-top:6vw;
}
.nowrap {
	white-space:nowrap;
}

.business_icon {
	padding: 8vw 6vw 13vw 6vw;
}

.business_title {
	font-size:4.5vw;
}

.business_title_mini {
	font-size:2.7vw;
	white-space:nowrap;
}

#ring {
	width:45vw;
	height:45vw;
	margin-top:20vw;
}

.ring-1, .ring-2, .ring-3 {
	width:27vw;
}

.box-title {
	font-size:8vw;
}

.box-title-mini {
	font-size:16px;
}

.box-text {
	font-size:14px;
}

.business_content {
	margin-top:10vw;
	padding-bottom:10vw;
}

.company-list-02 {
	font-size:14px;
}

.center_r {
	justify-content: flex-start;
}

#footer {
	padding-top:15vw;
}


/*スマホ設定 問い合わせ*/

#content_contact-b {
	padding: 0 10vw;
	width: calc(100% - 20vw);
	margin-top:0px;
}


.contact-b-title {
	font-size:16px;
}

#inquiry_main2 {
	width:100%;
	padding: unset;
}

#inquiry_content {
	font-size:4vw;
}

input{
	height:40px;
}

#inquiry_content li {
	margin-bottom:20px;
}

.textarea2 {
	height:200px;
}

.menu_c {
	font-size:10px;
}

.menu_mini {
	font-size:7px;
}


.contact-b-title {
	padding-left:unset;
}

hr {
	margin-left:unset;
}



.pc {
	display:none;
}
.pc_flex {
	display:none;
}


.sp_flex {
	display:flex;
}

.ipad {
	display:none;
}

.sp_menu_c{
	color:#fff;
	line-height:2.2;
	margin:auto;
	text-align:center;
}
.sp_menu_1{
	font-size:5.2vw;
	margin-right:5vw;
}
.sp_menu_2{
	font-size:3.5vw;

}
#smmenu{
	position: relative;
	top: 15vh;
}
.spmenubody{
	position:absolute;
	top:0;
	width:100%;
	background: linear-gradient(#1d6ee7, pink);
	display:block;
	height:0;
	z-index:100;
}
.openbtn4{
	position: absolute;/*ボタン内側の基点となるためrelativeを指定*/
	background:#366dbf;
	cursor: pointer;
	width: 13vw;
	height:13vw;
	border-radius: 5px;
	right:5vw;
	top:5vw;
}

/*ボタン内側*/
.openbtn4 span{
	display: inline-block;
	transition: all .4s;/*アニメーションの設定*/
	position: absolute;
	left: 18%;
	height: 2px;
	border-radius: 5px;
	background: #fff;
	width: 64%;
  }


.openbtn4 span:nth-of-type(1) {
  top:3vw; 
}

.openbtn4 span:nth-of-type(2) {
  top:5vw;
}

.openbtn4 span:nth-of-type(3) {
  top:7vw;
}

.openbtn4 span:nth-of-type(3)::after {
	content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
	top:1.3vw;
	text-align:center;
	width:100%;
	color: #fff;
	font-size: 2.3vw;
	text-transform: uppercase;
}

/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

.openbtn4.active span:nth-of-type(1) {
    top: 3.1vw;
    left: 2vw;
    transform: translateY(2vw) rotate(-45deg);
    width: 9vw;
}

.openbtn4.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn4.active span:nth-of-type(3){
    top: 7vw;
    left: 2vw;
    transform: translateY(-2vw) rotate(45deg);
    width: 9vw;
}

.openbtn4.active span:nth-of-type(3)::after {
  content:"Close";/*3つ目の要素のafterにClose表示を指定*/
    transform: translateX(4.2vw) translateY(-7.5vw) rotate(-45deg);
  top:10vw;
}

}