@charset "utf-8";

/* margin,padding
--------------------------------------------------------------------*/

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
div,
p,
pre,
address,
blockquote,
ul,
ol,
dl,
dt,
dd,
form,
fieldset,
header,
nav,
footer,
figure,
section,
article,
main {
	display: block;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* heading
--------------------------------------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6 {
}

/* font 
--------------------------------------------------------------------*/

html {
	overflow-y	: scroll;
	height		: 100%;
	font-size	: 62.5%;
}

body{
  word-wrap : break-all;
  overflow-wrap : break-word;
}

address,
em {
	font-style: normal;
}

/* list 
--------------------------------------------------------------------*/

ul,ol {
	list-style-type: none;
}

/* img 
--------------------------------------------------------------------*/

img {
	border: none;
	vertical-align: middle;
	max-width: 100%;
	image-rendering: -webkit-optimize-contrast;
}

/* form
--------------------------------------------------------------------*/

input,
select,
textarea,
button {
	font-size: inherit;
	line-height: inherit;
}

button {
	cursor: pointer;
}

/* table
--------------------------------------------------------------------*/

table,
thead,
tbody,
tfoot,
tr,
th,
td,
caption,
col,
colgroup {
	text-align: inherit;
	line-height: inherit;
	font-size: 100%;
}

table {
	display: table;
}

thead {
	display: table-header-group;
}

tbody {
	display: table-row-group;
}

tfoot {
	display: table-footer-group;
}

tr {
	display: table-row;
}

th,
td {
	display: table-cell;
}

caption {
	display: table-caption;
}

col {
	display: table-column;
}

colgroup {
	display: table-column-group;
}

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

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

.clearfix {display: inline-block;}/*IE7用*/

/* Hides from IE-mac \*/
* html .clearfix { height:1%;}
.clearfix { display:block;}
/* End hide from IE-mac */

/* heading
--------------------------------------------------------------------*/

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


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

/** margin-top **/
.mt10{margin-top: 10px;}
.mt20{margin-top: 20px;}
.mt30{margin-top: 30px;}
.mt40{margin-top: 40px;}
.mt50{margin-top: 50px;}
.mt60{margin-top: 60px;}
.mt70{margin-top: 70px;}
.mt80{margin-top: 80px;}
.mt90{margin-top: 90px;}
.mt100{margin-top: 100px;}

/** margin-bottom **/
.mb0{margin-bottom: 0 !important;}
.mb10{margin-bottom: 10px !important;}
.mb20{margin-bottom: 20px !important;}
.mb30{margin-bottom: 30px !important;}
.mb40{margin-bottom: 40px !important;}
.mb50{margin-bottom: 50px !important;}
.mb60{margin-bottom: 60px !important;}
.mb70{margin-bottom: 70px !important;}
.mb80{margin-bottom: 80px !important;}
.mb90{margin-bottom: 90px !important;}
.mb100{margin-bottom: 100px !important;}


/* メイン
--------------------------------------------------------------------*/

*{
	box-sizing: border-box;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #221815;
}

/*-------------------------------------------------------------------
	wrap
-------------------------------------------------------------------*/

#wrap {
}


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

#header {
	padding: 25px 3%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.hdLink a {
	background: #221815;
	color: #fff;
	line-height: 1.0;
	display: inline-block;
	font-size: 1.8rem;
	text-decoration: none;
	padding: 15px 30px;
}

.hdLink a:hover {
	background: #40312c;
}

@media screen and (max-width: 1050px){
	
	#header {
		padding: 10px 3%;
	}
	
	.logo {
		width: 40%;
	}
	
	.hdLink a {
		font-size: 1.6rem;
		padding: 10px 20px;
	}
	
}


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

#container {
	padding: 45px 120px 120px;
	position: relative;
	font-size: 2.4rem;
	line-height: 1.8;
}

#container p {
	text-align: justify;
	text-justify: inter-ideograph;
}


.alignLeft {
	text-align: left;
}

.alignCenter {
	text-align: center;
}

.alignRight {
	text-align: right;
}

.relaCase {
	position: relative;
}

.komeWrap {
	position: relative;
	padding-left: 1.1rem;
}

.komeWrap .kome {
	position: absolute;
	top: 0;
	left: 0;
}

.inBlock {
	display: inline-block;
	text-align: left;
}

@media screen and (max-width: 1800px){
	
	#container {
		padding: 45px 3% 120px;
		position: relative;
		font-size: 2.0rem;
		line-height: 1.8;
	}
	
}

@media screen and (max-width: 1050px){
	
	#container {
		padding: 40px 5% 60px;
		position: relative;
		font-size: 1.8rem;
		line-height: 1.6;
	}
	
	.inBlock {
		display: block;
	}
	
}


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

#sec01 {
	padding-right: 50%;
	padding-top: 100px;
	margin-bottom: 100px;
}


.sec01Flex {
	display: flex;
}


.sec01Flex .sec01Same {
	width: 50%;
	text-align: center;
}

.sec01Abs01 {
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	text-align: center;
}

.sec01Abs02 {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 50%;
}

.case01 {
	margin-bottom: 70px;
}

.bigText01 {
	font-size: 11.0rem;
	line-height: 1.2;
	margin-bottom: 30px;
	font-weight: 700;
}

.bigText02 {
	font-size: 9.2rem;
	line-height: 1.0;
	margin-bottom: 30px;
	font-weight: 700;
}

.case02 {
	margin-bottom: 80px;
	line-height: 1.0;
}

.linkText {
	font-size: 1.5rem;
}

.link_list {
	display: block;
	font-size: 3.2rem;
	margin-bottom: 15px;
	font-weight: 600;
}

.case02 li:nth-child(n + 2) {
	margin-top: 20px;
}

.linkText a {
	color: #221815;
	text-decoration: none;
}

.linkText a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 1800px){
	
	
	#sec01 {
		padding-top: 50px;
	}

	.sec01Abs01 {
		box-sizing: border-box;
		padding: 0 5%;
	}

	.sec01Abs02 {
		position: absolute;
		bottom: 0;
		right: 0;
		width: 50%;
	}

	.bigText01 {
		font-size: 8.0rem;
		line-height: 1.2;
		margin-bottom: 30px;
		font-weight: 700;
	}
	
	.bigText02 {
		font-size: 7.0rem;
		line-height: 1.0;
		margin-bottom: 30px;
		font-weight: 700;
	}
	
}

@media screen and (max-width: 1140px){
	
	
	.sec01Abs02 {
		box-sizing: border-box;
		padding: 0 5%;
	}
	
	.bigText01 {
		font-size: 6.0rem;
	}
	
	.bigText02 {
		font-size: 5.0rem;
	}
	
	.case02 {
		line-height: 1.4;
	}
	
}

@media screen and (max-width: 1050px){
	
	
	#sec01 {
		padding-right: 0;
		padding-top: 0;
		margin-bottom: 50px;
	}

	.sec01Flex .sec01Same {
		box-sizing: border-box;
		padding: 0 5%;
	}

	.sec01Abs01 {
		position: static;
		width: auto;
		text-align: center;
		margin-bottom: 50px;
		padding: 0;
	}
	
	.sec01Abs01 img {
		max-width: 80%;
	}

	.sec01Abs02 {
		position: static;
		width: auto;
		margin-bottom: 50px;
		padding: 0;
	}

	.case01 {
		margin-bottom: 50px;
	}

	.bigText01 {
		font-size: 4.2rem;
		line-height: 1.2;
		margin-bottom: 30px;
		font-weight: 700;
	}

	.bigText02 {
		font-size: 4.6rem;
		line-height: 1.0;
		margin-bottom: 30px;
		font-weight: 700;
	}

	.case02 {
		margin-bottom: 80px;
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.link_list {
		display: block;
		font-size: 2.0rem;
		margin-bottom: 5px;
		font-weight: 600;
	}
	
}


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

#sec02 {
	padding-right: 50%;
	margin-bottom: 100px;
}

.case03 {
	margin-bottom: 100px;
}

.bigText03 {
	font-size: 8.2rem;
	line-height: 1.0;
	margin-bottom: 30px;
	font-weight: 700;
}

.case04 {
	margin-bottom: 100px;
	text-align: center;
}

.case04_into {
	display: inline-block;
	text-align: left;
}

.bigText04 {
	font-size: 11.0rem;
	line-height: 1.4;
	margin-bottom: 30px;
	font-weight: 700;
}

.case05 {
	padding-left: 40px;
}

.bigText05 {
	font-size: 6.4rem;
	line-height: 1.0;
	margin-bottom: 20px;
	font-weight: 700;
}

.sec02Abs01 {
	position: absolute;
	top: 0;
	right: 0;
	width: 25%;
	text-align: center;
}

.sec02Abs02 {
	position: absolute;
	bottom: 0;
	right: 25%;
	width: 25%;
	text-align: center;
}


@media screen and (max-width: 1800px){
	
	.bigText03 {
		font-size: 6.4rem;
	}

	.bigText04 {
		font-size: 8.0rem;
		line-height: 1.4;
		margin-bottom: 30px;
		font-weight: 700;
	}

	.case05 {
		padding-left: 20px;
	}

	.bigText05 {
		font-size: 5.0rem;
		line-height: 1.0;
		margin-bottom: 20px;
		font-weight: 700;
	}

	.sec02Abs01,
	.sec02Abs02 {
		box-sizing: border-box;
		padding: 0 3%;
	}
	
}

@media screen and (max-width: 1050px){
	
	#sec02 {
		padding-right: 0;
		margin-bottom: 50px;
	}

	.case03 {
		margin-bottom: 50px;
	}

	.bigText03 {
		font-size: 4.8rem;
		line-height: 1.0;
		margin-bottom: 30px;
		font-weight: 700;
	}

	.case04 {
		margin-bottom: 50px;
	}

	.bigText04 {
		font-size: 4.8rem;
		line-height: 1.4;
		margin-bottom: 30px;
		font-weight: 700;
	}

	.case05 {
		padding-left: 0;
	}

	.bigText05 {
		font-size: 3.6rem;
		line-height: 1.0;
		margin-bottom: 20px;
		font-weight: 700;
	}

	.sec02Abs01 {
		position: static;
		width: auto;
		text-align: center;
		margin: 50px 0;
		padding: 0;
	}
	
	.sec02Abs01 img {
		max-width: 80%;
	}

	.sec02Abs02 {
		position: static;
		width: auto;
		text-align: center;
		padding: 0;
	}
	
	.sec02Abs02 img {
		max-width: 50%;
	}
	
}


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

#sec03 {
	margin-bottom: 100px;
}

.case06 {
	padding: 0 180px;
	line-height: 1.0;
	font-weight: 500;
}

.case06 li:nth-child(1) {
	font-size: 6.0rem;
}

.case06 li:nth-child(2) {
	font-size: 5.0rem;
	text-align: right;
	margin-top: 50px;
}

@media screen and (max-width: 1800px){
	
	.case06 {
		padding: 0 60px;
		line-height: 1.0;
		font-weight: 500;
	}

	.case06 li:nth-child(1) {
		font-size: 5.0rem;
	}

	.case06 li:nth-child(2) {
		font-size: 4.0rem;
		text-align: right;
		margin-top: 50px;
	}
	
}
@media screen and (max-width: 1050px){
	
	
	#sec03 {
		margin-bottom: 50px;
	}

	.case06 {
		padding: 0;
		line-height: 1.6;
		font-weight: 600;
	}

	.case06 li:nth-child(1) {
		font-size: 3.2rem;
	}

	.case06 li:nth-child(2) {
		font-size: 2.6rem;
		margin-top: 30px;
	}
	
}


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

#sec04 {
	margin-bottom: 100px;
}

.sec04Flex {
	display: flex;
	flex-direction: row-reverse;
}

.sec04Left {
	width: 40%;
	text-align: center;
}

.sec04Right {
	width: 60%;
	padding-top: 125px;
}

.case07 {
	text-align: center;
	margin-bottom: 90px;
}

.bigText06 {
	font-size: 6.4rem;
	line-height: 1.0;
	margin-bottom: 60px;
	font-weight: 700;
}

.bigText07 {
	font-size: 11.8rem;
	line-height: 1.0;
	margin-bottom: 30px;
	font-weight: 700;
}

.case07Text {
	display: inline-block;
	text-align: left;
}

.case08 {
	font-size: 4.4rem;
	line-height: 1.0;
	margin-bottom: 100px;
	font-weight: 700;
	text-align: center;
}

.bigText08 {
	font-size: 5.8rem;
	line-height: 1.0;
	margin-bottom: 20px;
	font-weight: 700;
}

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

	.sec04Left {
		box-sizing: border-box;
		padding: 0 4%;
	}

	.sec04Right {
		padding-top: 100px;
	}

	.bigText06 {
		font-size: 4.6rem;
		line-height: 1.0;
		margin-bottom: 50px;
		font-weight: 700;
	}

	.bigText07 {
		font-size: 8.2rem;
		margin-bottom: 30px;
	}

	.case08 {
		font-size: 3.0rem;
		margin-bottom: 50px;
	}

	.bigText08 {
		font-size: 4.0rem;
	}	
}

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

	
	.bigText06 {
		font-size: 3.6rem;
	}

	.bigText07 {
		font-size: 7.2rem;
	}

	.bigText08 {
		font-size: 3.2rem;
	}
	
}

@media screen and (max-width: 1050px){
	
	#sec04 {
		margin-bottom: 50px;
	}

	.sec04Flex {
		display: block;
		flex-direction: row-reverse;
	}

	.sec04Left {
		width: auto;
		margin-top: 50px;
		padding: 0;
		text-align: center;
	}
	
	.sec04Left img {
		max-width: 70%;
	}

	.sec04Right {
		width: auto;
		padding-top: 0;
	}

	.case07 {
		text-align: center;
		margin-bottom: 50px;
	}

	.bigText06 {
		font-size: 3.0rem;
		line-height: 1.4;
		margin-bottom: 40px;
		font-weight: 700;
		text-align: left;
	}

	.bigText07 {
		font-size: 4.8rem;
		text-align: left;
	}

	.case08 {
		font-size: 2.2rem;
		line-height: 1.0;
		margin-bottom: 50px;
		font-weight: 700;
		text-align: left;
	}

	.bigText08 {
		font-size: 3.2rem;
		line-height: 1.4;
		margin-bottom: 20px;
		font-weight: 700;
	}
	
}


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

#sec05 {
	margin-bottom: 100px;
}

.bigText09 {
	line-height: 1.0;
	text-align: center;
	font-size: 7.4rem;
	font-weight: 700;
}

@media screen and (max-width: 1800px){
	
	.bigText09 {
		font-size: 5.4rem;
	}
	
}

@media screen and (max-width: 1140px){
	
	.bigText09 {
		font-size: 4.2rem;
	}
	
}

@media screen and (max-width: 1050px){
	
	#sec05 {
		margin-bottom: 50px;
	}
	
	.bigText09 {
		line-height: 1.6;
		font-size: 3.4rem;
	}
	
}

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

#sec06 {
	margin-bottom: 130px;
}

.sec06Img {
	width: 40%;
	text-align: center;
	margin-bottom: 160px;
}

.sec06Abs01 {
	position: absolute;
	top: 0;
	right: 0;
	width: 60%;
	text-align: center;
}

.bigText10 {
	line-height: 1.0;
	text-align: center;
	font-size: 7.8rem;
	font-weight: 700;
	margin-bottom: 30px;
}

.sec06Abs02 {
	position: absolute;
	top: 510px;
	left: 38%;
	width: 40%;
	box-sizing: border-box;
}

.bigText11 {
	line-height: 1.0;
	font-size: 6.6rem;
	font-weight: 700;
	margin-bottom: 20px;
}

.sec06Wrap {
	width: 85%;
	box-sizing: border-box;
	padding: 0 0 0 40px;
}

.case09 {
	margin-bottom: 120px;
}

.bigText12 {
	line-height: 1.4;
	font-size: 6.5rem;
	font-weight: 700;
	margin-bottom: 30px;
}

.case10 {
	margin-bottom: 100px;
}

.bigText13 {
	line-height: 1.0;
	font-size: 7.2rem;
	font-weight: 700;
	margin-bottom: 20px;
}

.bigText14 {
	line-height: 1.0;
	font-size: 13.5rem;
	font-weight: 700;
	margin-bottom: 20px;
}

.sec06Abs03 {
	position: absolute;
	top: 510px;
	right: 0;
	width: 20%;
	text-align: center;
}

@media screen and (max-width: 1800px){
	
	.sec06Img {
		margin-bottom: 100px;
	}
	
	.bigText10 {
		line-height: 1.0;
		font-size: 5.8rem;
		font-weight: 700;
		margin-bottom: 30px;
		text-align: left;
	}

	.sec06Abs02 {
		position: absolute;
		top: 450px;
		left: 37%;
		width: 45%;
		box-sizing: border-box;
	}

	.bigText11 {
		font-size: 5.4rem;
		margin-bottom: 20px;
	}

	.sec06Wrap {
		padding: 0 0 0 3%;
	}


	.bigText12 {
		line-height: 1.4;
		font-size: 4.2rem;
		font-weight: 700;
		margin-bottom: 30px;
	}

	.case10 {
		margin-bottom: 80px;
		padding-right: 80px;
	}

	.bigText13 {
		line-height: 1.0;
		font-size: 4.8rem;
		font-weight: 700;
		margin-bottom: 20px;
	}

	.bigText14 {
		line-height: 1.0;
		font-size: 7.5rem;
		font-weight: 700;
		margin-bottom: 20px;
	}

	.sec06Abs03 {
		position: absolute;
		top: 450px;
		right: 0;
		width: 20%;
		text-align: center;
		box-sizing: border-box;
		padding: 0 3%;
	}
	
}

@media screen and (max-width: 1140px){
	
	.sec06Img {
		margin-bottom: 150px;
	}
	
	.bigText10 {
		line-height: 1.0;
		font-size: 5.0rem;
		font-weight: 700;
		margin-bottom: 30px;
		text-align: left;
	}
	
	.sec06Abs01 {
		width: 55%;
	}

	.bigText11 {
		font-size: 4.6rem;
	}

	.bigText12 {
		font-size: 3.8rem;
	}

	.bigText13 {
		font-size: 4.2rem;
	}

	.bigText14 {
		font-size: 6.4rem;
	}
	
}

@media screen and (max-width: 1050px){
	
	#sec06 {
		margin-bottom: 60px;
	}

	.sec06Img {
		width: auto;
		text-align: center;
		margin-bottom: 50px;
	}
	
	.sec06Img img {
		max-width: 80%;
	}

	.sec06Abs01 {
		position: static;
		width: auto;
		text-align: center;
		margin-bottom: 50px;
	}

	.bigText10 {
		line-height: 1.0;
		text-align: left;
		font-size: 4.0rem;
		font-weight: 700;
		margin-bottom: 30px;
	}

	.sec06Abs02 {
		position: static;
		width: auto;
		box-sizing: border-box;
		margin-bottom: 50px;
	}

	.bigText11 {
		line-height: 1.0;
		font-size: 3.2rem;
		font-weight: 700;
		margin-bottom: 20px;
	}

	.sec06Wrap {
		width: 100%;
		box-sizing: border-box;
		padding: 0;
	}

	.case09 {
		margin-bottom: 50px;
	}

	.bigText12 {
		line-height: 1.4;
		font-size: 3.2rem;
		font-weight: 700;
		margin-bottom: 30px;
	}

	.case10 {
		margin-bottom: 50px;
		padding-right: 0;
	}

	.bigText13 {
		line-height: 1.4;
		font-size: 3.2rem;
		font-weight: 700;
		margin-bottom: 20px;
	}

	.bigText14 {
		font-size: 6.0rem;
		line-height: 1.2;
	}

	.sec06Abs03 {
		position: static;
		width: auto;
		margin: 0 0 50px;
	}
	
	.sec06Abs03 img {
		max-width: 70%;
	}
	
}

.lastCont {
	text-align: center;
}


.lastCont a {
	background: #221815;
	color: #fff;
	line-height: 1.0;
	display: inline-block;
	font-size: 3.0rem;
	text-decoration: none;
	padding: 30px 0;
	text-align: center;
	width: 800px;
}

.lastCont a:hover {
	background: #40312c;
}

@media screen and (max-width: 1050px){
	
	.lastCont a {
		font-size: 2.0rem;
		width: 100%;
	}	
}


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

#footer {
	background: #e6e6e7;
	padding: 135px 0 0;
}

#footer address {
	text-align: center;
	line-height: 1.0;
	background: #fff;
	font-size: 1.3rem;
	padding: 40px 0 90px;
}

@media screen and (max-width: 1050px){
	
	#footer {
		padding: 100px 0 0;
	}

	#footer address {
		text-align: center;
		line-height: 1.0;
		background: #fff;
		font-size: 1.3rem;
		padding: 30px 0 20px;
	}	
}


/* format */

.spBl,
.spIn {
	display:none !important;
}

.pcIn {
	display:inline !important;
}

.pcBl {
	display:block !important;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="reset"],
input[type="button"] {
	border-radius: 0;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="reset"]::-focus,
input[type="button"]::focus {
	outline-offset: -2px;
}

*:focus {
	outline: none;
}

html {
 -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 767px){
	
	.pcBl,
	.pcIn {
		display:none !important;
	}

	.spIn {
		display:inline !important;
	}

	.spBl {
		display:block !important;
	}
}