@charset "utf-8";

/* 全体の設定
–––––––––––––––––––––––––––––––––––––––––––––––––– */
body {
	font-family: "Shippori Mincho", serif;
	margin: 0;
	word-wrap: break-word;
	letter-spacing: .05em;line-height: 1.2;
	overflow-x: hidden;
}

html {scroll-behavior: smooth;}

section {padding: clamp(3rem,6.5vw,5rem) 1rem;}


/* ROOT
–––––––––––––––––––––––––––––––––––––––––––––––––– */
:root {
	/* Color */
	--main-color: #13167c;
	--sub-color_01: #ed9809;
	
	--line: #06C755;
	
	--light-blue: #e6f4ff;
	--blue: #0d57a7;
	--dark-blue: #00A0E9;
	--navy: #1d50a2;
	--green: #009245;
	--yellow-green: #73B800;
	--light-yellow: #FFF5D7;
	--yellow: #e1b80d;
	--light-orange: #ED945D;
	--orange: #E35F0D;
	--vermilion: #dc503c;
	--red: #E60012;
	--high-light-gray: #E6E6E6;
	--light-gray: #b6b6b6;
	--gray: #8B8C90;
	--dark-gray: #666666;
	--deep-dark-gray: #333;
	--white: #fff;
	--black: #000;
	
	--gr-red: linear-gradient(#DD2126, #A01315);
	--gr-blue__90deg: linear-gradient(90deg, #1e9cd7, #0075be);
	
	/* 角丸 */
	--rounded-5-10: clamp(5px, 3vw, 10px);
	--rounded-10-20: clamp(10px, 3.2vw, 20px);
	--rounded-10-25: clamp(10px, 3.5vw, 25px);
	--rounded-200: 200px;

}


/* 基本CSS
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
    display: inline-block;
    text-decoration-line: none;
	color: inherit;
}

a:hover,a img:hover {
    color: inherit;
    opacity: 0.8;
}

ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

li {text-decoration: none;}

table {width: 100%; border-collapse: collapse; table-layout: fixed;}
table :is(th,td) {padding: 1.5rem 1rem; word-break: break-word;}
table th {width: 20%;}
table p {margin: 0;}

/*input {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}*/

button {
	background: none;
    border: none;
}

/* フォント */
.font-montserrat {
  font-family: "Montserrat", sans-serif;
}
.font-roboto {
  font-family: "Roboto", sans-serif;
}
.font-yuji-boku {
  font-family: "Yuji Boku", serif;
}

@media screen and (max-width: 960px) {
	table.table960 > tbody > tr > :is(th,td),
	.table960 > tbody > tr > :is(th,td) {display: block; width: 100%;}
	table.table960 > tbody > tr > th,
	.table960 > tbody > tr > th {padding-bottom: 0;}
	table.table960 > tbody > tr > td,
	.table960 > tbody > tr > td {padding-top: .5rem;}
}
@media screen and (max-width: 768px) {
	table.table768 > tbody > tr > :is(th,td),
	.table768 > tbody > tr > :is(th,td) {display: block; width: 100%;}
	table.table768 > tbody > tr > th,
	.table768 > tbody > tr > th {padding-bottom: 0;}
	table.table768 > tbody > tr > td,
	.table768 > tbody > tr > td {padding-top: .5rem;}
}
@media screen and (max-width: 560px) {
	table.table560 > tbody > tr :is(th,td),
	.table560 > tbody > tr > :is(th,td) {display: block; width: 100%;}
	table.table560 > tbody > tr > th,
	.table560 > tbody > tr > th {padding-bottom: 0;}
	table.table560 > tbody > tr > td,
	.table560 > tbody > tr > td {padding-top: .5rem;}
}


/* 汎用コンテンツ
-------------------------------------*/
/* 文字色 */
.text-black { color: var(--black); }
.text-white { color: var(--white); }
.text-gray { color: var(--gray); }
.text-red { color: var(--red); }
.text-blue { color: var(--blue); }

.text-main {color: var(--main-color);}
.text-sub1 {color: var(--sub-color_01);}

/* 背景色 */
.bg__main {background-color: var(--main-color);}
.bg__sub01 {background-color: var(--sub-color_01);}

.bg__white {background-color: var(--white);}
.bg__black {background-color: var(--black);}
.bg__light-yellow {background-color: var(--light-yellow);}
.bg__light-blue {background-color: var(--light-blue);}
.bg__light-blue2 {background: linear-gradient(180deg, #e6f4ff 0%, #e6f4ff 80%, #ffffff 20%, #ffffff 100%);padding: 2rem 4rem;}

/* 面取り(ベベル)背景 */
.bg__corner-beveled {
	--beveled-color: var(--white);
	--beveled-size: 10px;
	background: linear-gradient(45deg, transparent var(--beveled-size), var(--beveled-color) var(--beveled-size)), linear-gradient(-45deg, transparent var(--beveled-size), var(--beveled-color) var(--beveled-size)), linear-gradient(225deg, transparent var(--beveled-size), var(--beveled-color) var(--beveled-size)), linear-gradient(-225deg, transparent var(--beveled-size), var(--beveled-color) var(--beveled-size));
    background-position: bottom left, bottom right, top right, top left;
    background-size: 50% 50%;
    background-repeat: no-repeat;
	position: relative; z-index: 0;
}
.bg__corner-beveled.bg__white {
	--beveled-color: var(--white);
}
.bg__corner-beveled.bg__light-yellow {
	--beveled-color: var(--light-yellow);
}
.bg__corner-beveled::before,
.bg__corner-beveled::after {
	content: "";
	position: absolute; z-index: -1;
	background-color: var(--beveled-color);
}
.bg__corner-beveled::before {
	width: 5px; height: 99.9%;
	left: 50%; top: 0; transform: translateX(-50%);
}
.bg__corner-beveled::after {
	width: 99.9%; height: 5px;
	left: 0; top: 50%; transform: translateY(-50%);
}


/* リンクボタン(角丸+丸+画像矢印) */
.l-btn__r-arrow {
	display: inline-flex; justify-content: space-between; align-items: center;
	font-size: .875em; color: var(--white);
	background-color: var(--sub-color_01);
	border: 1px solid var(--sub-color_01);
	border-radius: var(--rounded-200);
	padding: .3rem 0;
	transition: color .2s ease, background-color .2s ease;
}
.l-btn__r-arrow:hover {
	opacity: 1;
	color: var(--sub-color_01);
	background-color: var(--white);
}
.l-btn__r-arrow .arrow {max-width: 24px;}
.l-btn__r-arrow__large {font-size: clamp(16px,2vw,20px); padding: clamp(.5rem,1vw,.75rem) .5rem clamp(.5rem,1vw,.75rem) 1rem;}
.l-btn__r-arrow.l-btn__r-arrow__large .arrow {max-width: 36px;}

.width_168{
	width: 168px;
	white-space: nowrap;
}


/* テキスト(帯文字) */
.text-bg-clone {
	line-height: 2.5em;
    white-space: nowrap;
}
.text-bg-clone span {
	display: inline;
    padding: .2em .5em;
    background-color: var(--light-gray);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

/* リスト(文字前に記号) */
ul.list-icon__square li {
	text-indent: -1.2em;
    padding-left: 1.2em;
}
ul.list-icon__square li::before {
	content: "■";
    margin-right: .2rem;
}

/* テーブル(同色下線) */
.tbl-border tr {
	border-bottom: 1px solid var(--high-light-gray);
}
.tbl-border th {
	padding-left: 2rem;
    padding-right: 2rem;
}

/* テーブル(ドット) */
.tbl-dot > tbody > tr:first-of-type {border-top: 1px dotted var(--light-gray);}
.tbl-dot > tbody > tr {border-bottom: 1px dotted var(--light-gray);}
/*.tbl-dot > tbody > tr th {font-size: 1.125em; text-align: left;}*/
.tbl-dot tr th {font-size: 1.125em; text-align: left;}

.table_design01 tr th{font-size: 1em; text-align: left;}
.table_design02 tr th{font-size: 1em; text-align: left;}

/* テーブル(thに■) */
.tbl-icon-sq th {text-align: left; font-weight: normal;}
.tbl-icon-sq th::before {
	content: "";
	display: inline-block;
	width: 12px; height: 12px;
	aspect-ratio: 1 / 1;
	background-color: var(--main-color);
	margin-right: .25rem;
}

/* テーブル(間に太縦線) */
[class*="tbl-vertical-line__"] :is(th,td) {
	padding: 1rem;
}
[class*="tbl-vertical-line__"] th {position: relative; width: 130px;}
[class*="tbl-vertical-line__"] th::after {
	content: "";
	width: 1px; height: calc(100% - 1rem);
    position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	background-color: var(--sub-color_01);
}
.tbl-vertical-line__4 th::after {width: 4px;}


/* hoverで画像入れ替え */
.img-swap {
  position: relative;
  display: inline-block;
  width: max-content;
}
.img-hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.l-btn__r-arrow:hover .img-swap .img-hover {
  opacity: 1;
}
.l-btn__r-arrow:hover .img-swap .img-normal {
  opacity: 0;
}

/* 角丸 */
.corner-rounded__200 {border-radius: var(--rounded-200);}

.corner-rounded__5-10 {border-radius: var(--rounded-5-10);}
.corner-rounded__10-20 {border-radius: var(--rounded-10-20);}
.corner-rounded__10-25 {border-radius: var(--rounded-10-25);}

.corner-rounded__50per {border-radius: 50%;}

/* 下線 */
.border-b__white-1 {border-bottom: 1px solid var(--white);}
.border-b__white-2 {border-bottom: 2px solid var(--white);}
.border-b__white-3 {border-bottom: 3px solid var(--white);}

.border-b__main-10 {border-bottom: 10px solid var(--main-color);}

/* 囲み線 */
.border__black-1 {border: 1px solid var(--black);}

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

@media screen and (max-width: 768px) {
	/* テーブル(ドット) */
	.tbl-dot.table768 {}
	
	.bg__light-blue2 {
		/*background: linear-gradient(180deg, #e6f4ff 0%, #e6f4ff 80%, #ffffff 20%, #ffffff 100%);*/
		background: var(--light-blue);
		padding: 2rem 0;
	}
}

@media screen and (max-width: 560px) {
	/* テーブル(同色下線) */
	.tbl-border.table560 th {padding-left: .5rem; padding-right: .5rem;}
	
	/* テーブル(間に太縦線) */
	[class*="tbl-vertical-line__"].table560 th {
		text-align: left;
	}
	[class*="tbl-vertical-line__"].table560 th::after {
		display: block; width: 100%; height: 1px;
        position: initial; transform: none;
        margin-top: .5rem;
	}
	.tbl-vertical-line__4.table560 th::after {height: 3px;}
	[class*="tbl-vertical-line__"].tbl-border.table560 th::after {
		display: none;
	}
}
