@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*! destyle.css v1.0.14 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model */
/* ============================================ */

* {
  box-sizing: border-box;
}

::before,
::after {
  box-sizing: inherit;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
	font-size: 16px;
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
	-webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
  font-size: 1rem; /* 16px */
  color: #656565;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-style: normal;
	background-color:white;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

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

/* Lists (definition) */
/* ============================================ */

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  transition: all 0.4s;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
  vertical-align: bottom;
}

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable
 */

button,
input,
optgroup,
 {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */

[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */

select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */

option {
  padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */

[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */

label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */

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

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/* アニメーションの定義 */
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px); /* 下から */
    }
    100% {
        opacity: 1;
        transform: translateY(0); /* 上へ */
    }
}

/* アニメーションを適用するクラス */
.fade-in {
    animation-name: fadeInUp;
    animation-duration: 2.5s; /* アニメーションの長さ */
    animation-timing-function: ease; /* アニメーションの動き */
    animation-fill-mode: forwards; /* アニメーションが完了したときの状態 */
	 opacity: 1; /* 念のため */
}


/************************************
** 共通パーツ　common
************************************/

.wrapper {
  width: 100%;
  padding: 0 2.5%;
  margin: 0 auto;
  max-width:1440px;
}

/* セクションタイトル */
.section-title {
	max-width: 562px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.section-title .ja-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
/* 	border-bottom: 2px solid #000; */
	border-bottom: 2px solid transparent;
	border-image: linear-gradient(to right, #193378, #2E5EDE) 1;
	border-image-slice: 0 0 1 0;
}
.section-title .ja-wrapper img {
	width: 70px;
	object-fit: cover;
	padding-bottom: 10px;
}
.section-title .ja {
	display: block;
	font-size: 2rem;
	color: #2670B6;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	margin-left: 15px;
	margin-bottom: 10px;
}
.section-title .en {
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	padding-top: 10px;
}

.description-cmn {
	font-size: 1rem;
	line-height: 1.875;
	letter-spacing: 0.05em;
}
.color-yellow{
	color:#FFD700;
}

/** 共通タイトル・テキスト　スマホ版 **/
@media screen and (max-width: 768px) {
	.section-title {
		max-width: 430px;
	}
	.section-title .ja {
		font-size: 1.2rem;
	}
	.section-title .en {
		font-size: 0.9em;
	}
	
	.description-cmn {
		font-size: 0.8rem;
	}
}

/** 共通ボタン **/
.btn {
	display: inline-flex;
    align-items: center;
    justify-content: center;
	width: 220px;
	padding: 10px 3px;
	font-size: 1.2rem;
	font-weight: 700;
    background-color: #F4B183;
    border-radius: 5px;
    color: #fff;
    text-align: center;
	transition: all 0.4s;
	box-shadow: 4px 4px 4px 4px rgba(0, 0, 0, 0.25);
	background: linear-gradient(to right, #FFD166, #FFD99A);
	border: none;
	cursor: pointer;
	position: relative;
	top: 0;
	left: 0;
	letter-spacing: 0.05em;
}
.btn:hover {
	box-shadow: none;
	top: 4px;
	left: 4px;
	opacity: 1;
/* 	background: linear-gradient(to right, #FFCA57, #FFD28B); */
}
/* メールボタン用スタイル - 既存 */
.btn-mail {
}
.btn-mail i {
	color: #fff;
    margin-right: 5px;
    font-size: 36px;
    transition: all 0.4s;
    display: inline-block;
    transform: scale(1, 0.806); /* 高さを約80.6%に縮小（29÷36=0.806） */
    transform-origin: center; /* 変形の基準点を中央に */
}

/* 詳細ボタン用スタイル */
.btn-detail {
}
/* 矢印アイコン */
.btn-detail::after {
    content: "→";
    margin-left: 0px;
    font-size: 1.2rem;
    transition: all 0.4s;
}

/* 幅広ボタン用の新しいクラス */
.btn-wide {
	width: 100%;
}
/* 矢印アイコン */
.btn-wide::after {
    content: "→";
    margin-left: 0px;
    font-size: 1.2rem;
    transition: all 0.4s;
}

.btn-line {
	background: #fff;
	border: 2px solid #06C755;
	color: #06C755;
	letter-spacing: 0.1em;
}
/**LINEアイコン*/
.btn-line i {
    margin-right: 5px;
    font-size: 32px;
    transition: all 0.4s;
}
.btn-line:hover {
	color: #06C755;
}

.pad-only{
	display:none;
}

.sp-only{
	display:none;
}

@media screen and (max-width: 1024px) {
	.btn {
		width: 185px;
		font-size: 1rem;
	}
	.btn-mail i {
		font-size: 28px;
	}
	
	.btn-detail::after {
    	font-size: 1rem;
		margin-right: 0px;
	}
	
	.btn-wide {
		width: 100%;
	}
	.btn-wide::after {
	    font-size: 1rem;
		margin-right: 0px;
	}
	/**LINEアイコン*/
	.btn-line i {
    	margin-right: 5px;
    	font-size: 28px;
	}
	
}

@media screen and (max-width: 1024px) {
    .pc-only {
        display: none;
    }
	.pad-only{
		display:flex;
	}
}

@media screen and (max-width: 599px) {
	.pad-only{
		display:none;
	}
	 .sp-only {
        display: flex;
    }
}

/* フェードイン */
.fade-out {
  opacity: 0;
  transition: opacity 1s ease-in-out, transform 1s ease-in-out;
  transform: translateY(20px); /* 少し下に移動 */
}

.fade-in {
  opacity: 1;
  transform: translateY(0); /* 元の位置に戻す */
}



/************************************
** ヘッダー header
************************************/
#header {
	width: 100%;
	height: 110px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	background-color:white;
}
#header .header-wrapper {
	max-width: 1440px;
	height: inherit;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0 2.5%;
}
#header .logo-wrapper {
	display: flex;
	align-items: center;
}
#header .logo-wrapper .logo-1 {
	/*   width: 15%; */
	display:block;
	width: 90px;
	line-height: 0;
	margin-right: 58px;
	transition: all 0.4s;
}
#header .logo-wrapper .logo-1:hover {
	opacity: 0.7;
}
#header .logo-wrapper .logo-2 {
	display:block;
	width: 171px;
	line-height: 0;
	transition: all 0.4s;
}
#header .logo-wrapper .logo-2:hover {
	opacity: 0.7;
}
#header .navi {
	background-color: transparent;
}
#header .navi .menu {
 display: flex;
 align-items: center;
	color: #193378;
}
#header .navi .menu > li {
 margin-left: 40px;
}
#header .navi .menu > li:first-child {
 margin-left: 0;
}
#header .navi .menu li {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1;
}
#header .navi .menu .navi-link {
	transition: all 0.4s ease;
	color:#656565;
}
#header .navi .menu .navi-link:hover {
	color: #FFD166;
}

#header .header-german-icon {
	display: none;
}
.header-title{
	font-size:1.2rem;
	color:#2670B6;
	font-weight:bold;
	letter-spacing:0.2rem;
	margin-left:3%;
	width:50%;
}
.header-title i{
	margin-left:1%;
	display: inline-block; /* rotateを効かせるために必要 */
  transform: rotate(-45deg); /* 左回転（反時計回り）45度 */
}

/*** ヘッダー　1100px　****/
@media screen and (max-width: 1100px) {
	
	#header .navi .menu > li {
 	   margin-left: 18px;
	}
	#header .logo-wrapper .logo-1 {
		margin-right: 30px;
	}
}

/*** ヘッダー　タブレット　****/
@media screen and (max-width: 1024px) {
	#header .logo-wrapper{
		width:45%;
	}
	.header-title{
		font-size:0.9rem;
	}
	#header .logo-wrapper .logo-1 {
		width: 70px;
		margin-right: 20px;
	}
	#header .logo-wrapper .logo-2 {
		width: 131px;
	}
	
	#header .navi .menu li {
		font-size: 0.9rem;
	}
	#header .navi .menu > li {
 	   margin-left: 14px;
	}
	#header .logo-wrapper .logo-1 {
		margin-right: 20px;
	}
	.btn{
		width:150px;
	}
	.btn-wide {
		width: 100%;
	}
}

/*** ヘッダー　スマホ　****/
@media screen and (max-width: 767px) {
	#header{
		height:8vh;
	}
	#header .logo-wrapper{
		width:55%;
	}
	#header .logo-wrapper .logo-1 {
		width: 70px;
		margin-right: 20px;
	}
	#header .logo-wrapper .logo-2 {
		width: 131px;
	}
	
	#header .navi .menu li {
		font-size: 1rem;
	}
	#header .header-german-icon {
/* 		display: block; */
		width: 70px;
		object-fit: cover;
		position: fixed;
		top: 7%;
  		left: 50%;
  		transform: translate(-50%, -50%);
		margin-top: 15px;
		z-index: 30;
	}
	
	#header .hamburger {
		width: 50px;
		height: 50px;
		cursor: pointer;
		position: fixed;
		right: 25px;
		margin-top: 30px;
		z-index: 30;
	}
	#header .hamburger span {
		width: 40px;
		height: 2px;
		background-color: #676767;
		display: inline-block;
		position: absolute;
		left: 10px;
		transition: all 0.4s;
	}
	#header .hamburger span:nth-of-type(1) {
		top: 10px;
	}
	#header .hamburger span:nth-of-type(2) {
		top: 20px;
	}
	#header .hamburger span:nth-of-type(2) {
		top: 20px;
	}
	#header .hamburger.active span:nth-of-type(1) {
		top: 24px;
		transform: rotate(-45deg);
	}
	#header .hamburger.active span:nth-of-type(2) {
		opacity: 0;
	}
	#header .hamburger.active span:nth-of-type(3) {
		top: 24px;
		transform: rotate(45deg);
	}
	
	#header .navi {
		width: 100%;
		height: 100vh;
		background-color: #FAF7F2;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 10;
		opacity: 0;
		visibility: hidden;
		border-radius: 0px;
	}
	#header .navi.active {
		opacity: 1;
		visibility: visible;
		transition: all 0.4s;
	}
	#header .navi .menu {
		width: 100%;
		height: 100vh;
		overflow: auto;
		text-align: center;
		flex-direction: column;
		padding-top: 140px;
	}
	#header .navi .menu > li {
    	margin-left: 0px;
		margin-bottom: 40px;
	}
	
	#header .navi .menu .btn-mail {
		margin-bottom: 0;
		margin-top: 80px;
	}
	
}
@media screen and (max-width: 599px) {
	.header-title{
		font-size:1rem;
		letter-spacing:0.05rem;
	}
	#header .logo-wrapper{
		width:80%;
	}
	.header-title{
		width:70%;
		text-align:center;
		margin-left:0%;
	}
	.logo-1{
		width:60px;	
	}
	.logo-2{
		width:121px;
	}
}
@media screen and (max-width: 399px) {
	#header{
		padding:2% 2.5%;
		display:flex;
		align-items:center;
		height:10vh;
	}
	.header-title{
		font-size:0.9rem;
		letter-spacing:0.05rem;
	}
	.header-title{
		width:90%;
	}
}
.fixed-sidebar{
	position:fixed;
	z-index:99;
	width:6%;
	    height: 90vh;
	display:flex;
	justify-content:center;
	color:white;
	right:-7%;
	bottom:0%;
	writing-mode: vertical-rl;
	letter-spacing:0.3rem;
	align-items:center;
	font-size:1.2rem;
	border-radius:5px 0px 0px 5px;
	transition: right 0.5s; /* トランジションで滑らかに動く */
}

.line-sidebar{
	background-color:#06C755;
	padding:2%;
	width:100%;
	border-radius:5px 0px 0px 0px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: -5px 5px 5px rgba(0, 0, 0, 0.3);
}
.line-sidebar:hover{
	opacity:0.6;
	cursor:pointer;
	color:white;
}
.seminar-sidebar{
	background: linear-gradient(to right, #2670B6, #2FB0D9);
	padding:2%;
	width:100%;
	border-radius:0px 0px 0px 5px;
	display: flex;
	align-items: center;
	justify-content: center;
		box-shadow: -5px 5px 5px rgba(0, 0, 0, 0.3);
}
.seminar-sidebar:hover{
	opacity:0.6;
	color:white;
	cursor:pointer;
}
@media (max-width: 599px) {
	.fixed-sidebar{
		display:none;
	}
}
/************************************
** メインビジュアル
************************************/
:root {
	--horizontal-gap: 1%;
	--vertical-gap: 2%;
	--left-width-percent: 67%; /* ここを変更するだけで調整可能 */
	--right-width-percent: calc(100% - var(--left-width-percent) - var(--horizontal-gap));
}

.left-image-container,
.line-block,
.seminar-block {
    opacity: 0;
}

#main-visual {
	padding-top: 111px;
}

#main-visual .container {
    display: flex;
    width: 100%;
	max-width: 1440px;
	padding: 0%;
    margin: 0 auto;
	gap: var(--horizontal-gap);
}

#main-visual .left-image-container {
	width: var(--left-width-percent);
	position: relative;
	overflow: hidden;
}
#main-visual .left-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#main-visual .left-image-container video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
#main-visual .left-image-container .overlay-text {
	position: absolute;
	bottom: 20px;
	left: 20px;
	color: #2670B6;
	
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.1em;
	
	margin-right: 10px;
}

#main-visual .left-image-container .text-bg {
  background-color: #fff;
  padding: 0px 8px;
  display: inline-block;

}

#main-visual .left-image-container .highlight {
  background: linear-gradient(transparent 80%, #ffdd00 0);
  background-size: 100% 100%;
  padding: 0 2px;
}

/** 右側のブロック **/
#main-visual .right-container {
  width: var(--right-width-percent);
  display: flex;
  flex-direction: column;
  gap: var(--vertical-gap);
}


/** 右上のLINEボタンがあるブロック **/
#main-visual .line-block {
	flex: 1;
	background-image: url('http://ryugaku-germany.com/wp-content/uploads/2025/04/31993481_m-e1745680139563.jpg');
	background-repeat: no-repeat;
    background-size: cover;
	position: relative;
	overflow: hidden;
	
	text-align: center;
	padding: 2% 2% 5%;
}
#main-visual .line-block::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color:rgba(77, 162, 242, 0.34);
	z-index: 1;
}
/* コンテンツを前面に出す */
#main-visual .line-block > * {
    position: relative;
    z-index: 2;
}

#main-visual .line-block .line-block-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#main-visual .line-block .line-block-top .message-wrapper {
/* 	margin-top: 50px; */
	margin-bottom: 10px;
	text-align: center;
}
#main-visual .line-block .line-block-top .message {
	color: #fff;
	font-size: 1.2rem;
	font-weight: 900;
	letter-spacing: 0.05em;
	line-height: 1.3;
	transform: rotate(-10deg);
  	display: inline-block;
	/** text-shadow じゃないと Windows画面で変な表示になる **/
	text-shadow: 
    1px 1px 0 #2670B6,
    -1px -1px 0 #2670B6,
    -1px 1px 0 #2670B6,
    1px -1px 0 #2670B6;
}
#main-visual .line-block .line-block-top img {
/* 	width: 144px; */
	width: 35%;
	object-fit: contain;
	height: auto;
}
/***LINEボタン**/
#main-visual .line-block .btn-line {
	background-color: rgba(255, 255, 255, 0.8); /* 0.7の部分で透明度を調整 */
	/** 画面幅が狭まると、下にべたづきしてしまうため **/
	margin-bottom: 10px;
	font-size:1rem;
}

/** 右下のフォームがあるブロック **/
#main-visual .seminar-block {
	flex: 1.5;
	padding: 5px;
	background: linear-gradient(to right, #A6D4FF, #FFFFFF 50%, #A6D4FF);
}
#main-visual .seminar-block-title {
	color: #2670B6;
	background-color: #fff;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
	padding: 2px;
	margin-bottom: 5px;
}

#main-visual .seminar-block-subtitle {
	color: #00CCFF;
	text-align: center;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
}

/* フォーム全体 */
#main-visual .mv-contact-form {

}
#main-visual .mv-contact-form .mv-contact-row {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 10px;
}
/* ラベル部分 */
#main-visual .mv-contact-form label {
    font-weight: 700;
	font-size: 1rem;
	color: #2670B6;
	width: 30%;
}
#main-visual .mv-contact-form .mv-contact-input {
	width: 60%;
}
/* 入力フィールド */
#main-visual .mv-contact-form .mv-contact-input input[type=text],
#main-visual .mv-contact-form .mv-contact-input input[type=email],
#main-visual .mv-contact-form .mv-contact-input select
{
	width: 100%;
	height: 30px;
    border: solid 1px #2670B6;
	padding: 3px;
	font-size: 1rem;
	border-radius: 0px;
	background-color: #fff;
}
#main-visual .mv-contact-form .mv-contact-btn-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}
/* ボタン部分 */
#main-visual .mv-contact-form .mv-contact-btn {
	width: 45%;
	display: block;
	color: #fff;
	border: 1px solid transparent;
	background-color: #2670B6;
	border-radius: 5px;
	padding: 10px;
	font-size: 1rem;
	text-align: center;
	line-height: 1;
	margin-right: 2%;
	transition: all 0.6s;
}
#main-visual .mv-contact-form .mv-contact-btn:hover {
	color: #2670B6;
	border: 1px solid #2670B6;
	background-color: #fff;
}
/* contactForm7 Submit ボタン */
#main-visual .mv-contact-form .wpcf7-form input[type=submit] {
	width: 45%;
	display: block;
    background-color: #FFD700;
    color: #2670B6;
    border: 1px solid #FFA500;
    cursor: pointer;
	font-size: 1rem;
	border-radius: 5px;
	text-align: center;
	padding: 10px;
	line-height: 1;
	transition: all 0.6s;
}
#main-visual .mv-contact-form .wpcf7-form input[type=submit]:hover {
    background-color: #fff;
/*     color: #FFD700; */
	color: #FFA500;
/* 	border-color: #2670B6; */
}
#main-visual .mv-contact-form .mv-contact-btn-wrapper .wpcf7-spinner {
    display: none;
}

.mv-schedule-container {
	width: 100%;
	margin-top: 10px;
}
.mv-schedule-header {
	color: #2670B6;
	background-color: #fff;
	text-align: center;
	padding: 2px;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.67;
	letter-spacing: 0.1em;
}
.mv-schedule-row {
	display: flex;
	align-items: center;
	margin-top: 5px;
	color: #2670B6;
	
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
}
.mv-schedule-month {
	width: 40%;
	text-align: center;

}
.mv-schedule-details {
	width: 60%;
}

/* メインビジュアルのレスポンシブ対応 */
@media (max-width: 1200px) {
	
	#main-visual .left-image-container .overlay-text {
		font-size: 2rem;
	}
	#main-visual .seminar-block-title{
		font-size: 1rem;
	}
	
	#main-visual .mv-contact-form .mv-contact-btn {
		font-size: 0.9rem;
		padding: 10px 5px;
	}
	#main-visual .mv-contact-form .wpcf7-form input[type=submit] {
		font-size: 0.9rem;
		padding: 10px 5px;
	}
	
	.mv-schedule-header {
		font-size: 1rem;
	}
	
	.mv-schedule-row {
		font-size: 0.9rem;
	}
	
	.mv-schedule-month {
    	width: 30%;
	}
	
	.mv-schedule-details {
		width: 70%;
	}
	.sp-pad-mainvisual{
		margin-top:12%;
	}
	
}


/* メインビジュアルのレスポンシブ対応(タブレット) */
@media (max-width: 1024px) {
	
	#main-visual .left-image-container .overlay-text {
		font-size: 1.8rem;
	}
	#main-visual .seminar-block-title{
		font-size: 0.9rem;
	}
	#main-visual .seminar-block-subtitle {
		font-size: 0.7rem;
		margin-bottom: 6px;
	}
	
	.mv-schedule-row {
		font-size: 0.8rem;
		letter-spacing: 0.05em;
	}
	
	.mv-schedule-month {
    	width: 30%;
	}
	
	.mv-schedule-details {
		width: 70%;
	}
	
	#main-visual .line-block .line-block-top .message {
		font-size: 1rem;
	}
	
	#main-visual .line-block .btn-line {
		width: 165px;
		padding: 7px 3px;
	}
	
	/* 入力フィールド */
	#main-visual .mv-contact-form .mv-contact-input input[type=text],
	#main-visual .mv-contact-form .mv-contact-input input[type=email],
	#main-visual .mv-contact-form .mv-contact-input select
	{
		height: 25px;
		padding: 1px;
		font-size: 0.8rem;
	}
	
	#main-visual .mv-contact-form label {
	    font-size: 0.8rem;
	    width: 25%;
	}
	#main-visual .mv-contact-form .mv-contact-row{
		margin-bottom: 5px;
	}
	#main-visual .mv-contact-form .mv-contact-btn-wrapper{
		margin-top: 10px;
	}
	
	#main-visual .mv-contact-form .mv-contact-btn {
		margin-right: 3px;
	}
	
	#main-visual .mv-contact-form .mv-contact-btn {
		font-size: 0.8rem;
		padding: 6px 2px;
	}
	#main-visual .mv-contact-form .wpcf7-form input[type=submit] {
		font-size: 0.8rem;
		padding: 6px 2px;
	}
	.slick-dotted.slick-slider{
		width:100%;
		margin-bottom:0px;
	}
	.sp-pad-mainvisual{
		position:relative;
	}
	.slider img {
	  width: 100%;
	  height: auto;
	  display: block;
		height:50vh;
		object-fit:cover;
	}
	.slick-arrow{
		display:none !important;	
	}
	.sp-pad-mainvisual .btn-line{
		position:absolute;
		left: 50%;
  		transform: translateX(-50%);
		bottom:2%;
		width:55%;
		height:7vh;
		top:80%;
	}
	
}

/* メインビジュアルのレスポンシブ対応(例外) */
@media (max-width: 875px) {
	
	#main-visual .left-image-container .overlay-text {
		font-size: 1.6rem;
	}
	
	#main-visual .mv-contact-form .mv-contact-btn {
		font-size: 0.7rem;
		padding: 6px 1px;
	}
	#main-visual .mv-contact-form .wpcf7-form input[type=submit] {
		font-size: 0.7rem;
		padding: 6px 1px;
	}
}


/* メインビジュアルのレスポンシブ対応(スマホ) */
@media (max-width: 768px) {
	#main-visual{
		padding-top:0px;
	}
	#main-visual .container {
    	flex-direction: column;
	}
	#main-visual .left-image-container {
    	width: 100%;
	}
	#main-visual .right-container {
		width: 100%;
	}
	
}


/************************************
** ドイツを選ぶ6つの理由
************************************/
#reason {
	padding-top: 72px;
	overflow:hidden;
}
#reason .section-title {
	margin-bottom: 47px;
}
#reason .item {
	display: flex;
	justify-content: space-between;
	margin-bottom: 80px;
}
#reason .item:last-of-type {
	margin-bottom: 0;
}
#reason .item.reverse {
	flex-direction: row-reverse;
	justify-content: center;
}
#reason .item .text {
	width: 53%;
    min-width: 300px; /* テキストの最小幅を設定 */
}
#reason .item.reverse .text {
	margin-left: 3%;
}
#reason .item .youtube-container {
    width: 47%;
    min-width: 300px;
    flex-grow: 1;
}

#reason .item .youtube-wrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9のアスペクト比 */
    overflow: hidden;
	border-radius: 10px;
	
	/* グラデーションボーダーを追加 */
	border: 8px solid transparent;
	background-image: linear-gradient(white, white), linear-gradient(to right, #ADD7FF, #FFD166);
	background-origin: border-box;
	background-clip: padding-box, border-box;
}
#reason .item.reverse .youtube-wrapper {
	border: 8px solid transparent;
	background-image: linear-gradient(white, white), linear-gradient(to right, #FFD166, #ADD7FF);
	background-origin: border-box;
	background-clip: padding-box, border-box;
}

#reason .item .youtube-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    /* iOSでのバグ対策のため、object-fitプロパティを削除 */
}

#reason .item .text .description-wrapper {
    position: relative;
	padding: 25px 15px;
}

#reason .item .text .description-wrapper::before {
    content: "";
    position: absolute;
    background-color: #FFF2D5;
    width: 100vw;
    height: 100%;
	border-radius: 10px;
    top: 0;
	right: -30%;
    z-index: -1;
    transform: translateX(calc((100% - 100vw)/2));
}
/* 逆配置時の背景色の調整 */
#reason .item.reverse .text .description-wrapper::before {
    right: auto;
    left: -30%;
    transform: none; /* 通常の変換を無効化 */
    width: 200vw; /* 十分な幅を確保して右端まで伸ばす */
}

#reason .item .text .description {
    position: relative;
    z-index: 1;
}

#reason .item .text .description .color-red {
    color: #ff0000;
	font-weight: 700;
}

.content-title {
	display: flex;
    align-items: center;
    margin-bottom: 3%;
}
.content-title .title-number {
	text-align: center;
	width: 100px;
	height: 100px;
	border: 1px solid #000;
	padding: 5px;
	position: relative;
/* 	z-index: -2; */
	margin-right: 20px;
}
.content-title .title-number::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #FFD166;
	position: absolute;
	top: 6px;
	left: 6px;
	z-index: -3;
}
.content-title .point {
	font-family: "Nothing You Could Do", cursive;
	font-size: 1.4rem;
	color: #193378;
	line-height: 1.5;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
}
.content-title .number {
	font-family: "Norican", cursive;
	font-size: 3.3rem;
	color: #fff;
	line-height: 1;
	letter-spacing: 0.1em;
}
.content-title .title-text {
	font-size: 1.7rem;
	font-weight: 700;
	color: #2670B6;
	line-height: 1.67;
	letter-spacing: 0.1em;
}


/******** ドイツを選ぶ6つの理由　スマホ ********/
@media screen and (max-width: 1024px){
	
	#reason .section-title {
    	margin-bottom: 30px;
	}
	
	#reason .item .text .description-wrapper {
    	padding: 20px;
	}
	#reason .item {
        flex-direction: column;
		margin-bottom: 40px;
    }
	#reason .item.reverse {
        flex-direction: column;
    }
    
    #reason .item .text {
        width: 100%;
        min-width: auto;
/* 		margin-bottom: 15px; */
		margin-bottom: 3%;
    }
	#reason .item.reverse .text {
		margin-left: 0px;
	}
    #reason .item .youtube-container {
        width: 100%;
        min-width: auto;
    }

	/** 背景色の位置調節 */
	#reason .item .text .description-wrapper::before {
		right: -5%;
	}
	#reason .item.reverse .text .description-wrapper::before {
    	left: -21%;
		width: 115vw;
	}
	
	.content-title .title-text {
		font-size: 1.1rem;
	}
	.content-title .title-number {
    	width: 80px;
    	height: 80px;
	}
	.content-title .point {
		font-size: 1rem;
	}
	.content-title .number {
		font-size: 2.8rem;
	}

	
}
/************************************
** 流れ
************************************/
#flow{
	margin-top:5%;
}
.flow-container{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	align-items:center;
	margin-top:3%;
}
.flow-box{
	display:flex;
	flex-direction:column;
	width:20%;
	padding:0% 3%;
	height:38vh;
}
.flow-box-img{
	width:90%;
	border-radius:50%;
	/*background: linear-gradient(to right, #A6D4FF, #FFFFFF 50%, #A6D4FF);*/
	margin:0 auto;
	display:flex;
	justify-content:center;
	align-items:center;
	margin-bottom:2%;
	height:15vh;
}
.flow-box-img img{
	width:70%;
	margin:0 auto;
	height:15vh;
}
.flow-box-text{
	display:flex;
	flex-direction:column;
	
}
.flow-box-number{
	background-color:white;
	color:#2670B6;
	color:white;
	padding:1% 2%;
	font-weight:bold;
	background-color:#2670B6;
	font-size:1.2rem;
	display:flex;
	justify-content:center;
	align-items:center;
	border-radius:5px;
	margin-bottom:2%;
	background: linear-gradient(to right, #2670B6, #A6D4FF);
}
.flow-box-title{
	font-size:1rem;
	text-align:center;
}
.flow-arrow{
	width:5%;
}
.flow-arrow img{
	width:100%;
}
@media screen and (max-width: 1024px) {
	.flow-container{
		width:90%;
		margin:0 auto;
		margin-top:3%;
	}
	.flow-box{
		width:48%;
		padding:0% 5%;
		
	}
}
@media screen and (max-width: 599px) {
	.flow-container{
		width:90%;
		margin-top:3%;
	}
	.flow-box-number{
		font-size:1rem;	
	}
	.flow-box-title{
		font-size:0.8rem;
	}
	.flow-box{
		padding:0%;
		width:45%;
	}
}
/************************************
** サポート概要
************************************/
#support {
	padding-top: 236px;
}

#support .section-title {
	margin-bottom: 35px;
}
#support .item {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	position: relative;
	width:95%;
	margin: 0 auto;
	margin-bottom: 90px;
}
#support .item:last-of-type {
	margin-bottom: 0;
}

#support .item .img {
	width: 45%;
	height: 374px;
	border-radius: 10px;
	overflow: hidden;
	z-index: 1;
}
#support .item:before {
    content: "";
    width: 100%;
    height: 88%;
    position: absolute;
    top: 20%;
    
    box-shadow: 4px 4px 4px 4px rgba(0, 0, 0, 0.25);
    background: linear-gradient(to right, #A6D4FF, #FFFFFF);
    border-radius: 10px;
    z-index: -1;
}
#support .item .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#support .item .text {
	width: 47%;
	margin-left: 3.5%;
	position: relative;
	margin-top:8%;
}

#support .item .text .title {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}
#support .item .text .icon {
	width: 82px;
	height: 66px;
	margin-right: 10px;
}
#support .item .text .title-text {
	font-size: 1.4rem;
	font-weight: 700;
	color: #2670B6;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
#support .item .text .description {
}
#support .item .text .btn {
	display: block;
	margin-left: auto;
}

/* 背景色の縦幅を調節 **/
@media screen and (max-width: 1070px){
	#support .item:before {
    	height: 97%;
    	top: 8%;
	}
	#support .item{
		width:100%;
	}
}

/*1024px以下*/
@media screen and (max-width: 1024px){
	#support .item {
        flex-direction: column;
		align-items: center;
		margin-bottom: 10%;
    }
	#support {
		padding-top: 60px;
	}
	
	#support .section-title {
    	margin-bottom: 30px;
	}
	
	
	/**** 背景色 ****/
	#support .item:before {
/* 		height: 84%; */
		height: 100%;
	}
	
    #support .item .img {
        width: 100%;
		height: auto;
		margin-bottom: 10px;
    }
    
    #support .item .text {
        width: 100%;
		margin-left: 0%;
		margin-top:2%;
    }
	#support .item .text .title-text {
    	font-size: 1.1rem;
	}
	#support .item .text .icon {
    	width: 60px;
    	height: 60px;
    	margin-right: 0px;
	}
	#support .item .text .title {
	    margin-bottom: 5px;
		padding-left: 10px;
		padding-right: 10px;
	}
	#support .item .text .description {
		padding: 0 15px;
		margin-bottom: 20px;
	}
	#support .item .text .btn {
	    margin-right: auto;
	}

}


/* 背景色の縦幅を調節 **/
@media screen and (max-width: 850px){	
	#support .item:before {
    	height:100%;
    	top: 4%;
	}
}

/*** サポート概要 スマホ ****/
@media screen and (max-width: 768px){
	
	

	
}




/************************************
** 学生の声
************************************/
#voice {
	padding-top: 143px;
}

#voice .section-title {
	margin-bottom: 40px;
}

.card {
	border-radius: 10px;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	overflow: hidden;
}

.card__img-wrapper {
  position: relative;
  padding-top: 80%;
  overflow: hidden;
}

.card__img {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
}

.card__body {
	padding: 20px 20px 80px;
	background: linear-gradient(to bottom, #C9E5FF, #FFF8E8);
	height:100%;
}

.card__body > *:last-child {
  margin-bottom: 0;
}

.card__title {
	text-align: center;
	font-size: 1.1rem;
	font-weight: 700;
	color: #2670B6;
	line-height: 1.5;
	letter-spacing: 0.05em;
	margin-bottom: 20px;
}

.card__text {
    line-height: 1.875;
	letter-spacing: 0.05em;
}

.card__text .color-red {
	color: #ff0000;
	font-weight: 700;
}


.cards {
  display: flex;
  flex-wrap: wrap;
}

.cards--col3 {
  margin-bottom: -30px;
}

.cards--col3 > .cards__item {
  width: 30%;
  margin-right: 4.6%;
  margin-bottom: 30px;
}

.cards--col3 > .cards__item:nth-of-type(3n) {
  margin-right: 0;
}

/*  学生の声　タブレット　**/
@media screen and (max-width: 1024px){
	
	.cards--col3 {
		margin-bottom: -20px;
	}

	.cards > .cards__item {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.card__img-wrapper {
	    padding-top: 70%;
	}

	
}


/*  学生の声　スマホ**/
@media screen and (max-width: 768px) {
	
	#voice {
		padding-top: 100px;
	}

	#voice .section-title {
    	margin-bottom: 30px;
	}

	
	.card__body {
	    padding: 15px 15px 20px;
	}
	
	.card__title {
		margin-bottom: 10px;
		font-size: 1rem;
	}
}


/************************************
** サポート体制
************************************/
#organization {
	padding-top: 137px;
}
#organization .section-title {
	margin-bottom: 56px;
}
#organization .item {
	display: flex;
	justify-content: center;
}
#organization .item .img {
	width: 43%;
	margin-right: 3%;
	border-radius: 10px;
    overflow: hidden;
}
#organization .item .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#organization .item .text {
	width: 54%;
}
#organization .item .text .title {
	display: flex;
	align-items: center;
	margin-bottom: 30px
}
#organization .item .text .title-text {
	font-size: 1.7rem;
	font-weight: 700;
	color: #2670B6;
	line-height: 1.67;
	letter-spacing: 0.1em;
}
#organization .item .text .title-icon {
	width: 114px;
	height: 102px;
	margin-right: 10px;
}
#organization .item .text .description {
	margin-bottom: 40px;
}
#organization .item .text .btn-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#organization .item .text .company-btn {
	display: flex;
	border: 2px #2670B6 solid;
	border-radius: 10px;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
	overflow: hidden;
	/* アイコンの大きさが違うのでパッディングでは高さを揃えられない */
/* 	width: 308px; */
	width: 48%;
	height: 104px;
	transition: 0.4s;
}
#organization .item .text .company-btn:hover {
	transform: translateY(4px);
	box-shadow: none;
}

#organization .item .text .logo-container {
	flex: 1;
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#organization .item .text .logo-container img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
#organization .item .text .info-container {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 45%;
	padding: 5px;
	background-color: #2670B6;
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
    letter-spacing: 0.05em;
}

/* サポート体制　スマホ */
@media screen and (max-width: 768px) {
	
	#organization {
    	padding-top: 80px;
	}
	#organization .section-title {
    	margin-bottom: 30px;
	}
	#organization .item {
		flex-direction: column;
	}
	#organization .item .img{
		width: 100%;
		margin-bottom: 10px;
	}
	#organization .item .text{
		width: 100%;
	}
	#organization .item .text .title {
		margin-bottom: 10px;
	}
	#organization .item .text .title-icon {
    	width: 80px;
    	height: 50px;
    	margin-right: 5px;
	}
	#organization .item .text .title-text {
    	font-size: 1.1rem;
	}
	#organization .item .text .description {
		margin-bottom: 25px;
	}
	#organization .item .text .company-btn {
		width: 49%;
		height: 75px;
	}
	#organization .item .text .logo-container {
		padding: 3px;
	}
	#organization .item .text .info-container {
		font-size: 0.8rem;
		padding: 6px;
	}
	#organization .item .text .logo-container .logo-1 {
	}
	#organization .item .text .logo-container .logo-2 {
		width: 65%;
	}
	
}

/* 1024px以下 */
@media screen and (max-width: 1024px){
	#organization .item .text .info-container {
		font-size: 0.9rem;
	}
}
/************************************
** お知らせ
************************************/
#news{
	padding-top: 137px;
}
.news-list{
	display:flex;
	flex-direction:column;
	margin:0 auto;
	margin-top:4%;
}
.news-list li a{
	justify-content:space-between;
	display:flex;
	color:#2A2A2A;
	margin-bottom:3%;
	
}
.news-list li img{
	width:28%;
	display:block;
}
.news-content{
	width:68%;
	display:flex;
	flex-direction:column;
	font-size:1rem;
}
.news-title{
	color:#2670B6;
	font-size:1.5rem;
	font-weight:bold;
}
@media screen and (max-width: 1024px){
	.news-list li img{
		width:100%;
	}
	.news-content{
		width:100%;
		margin-top:3%;
	}
	.news-text{
		font-size:0.8rem;
	}
	.news-list li a{
		flex-direction:column;
		margin-bottom:7%;
	}
	.news-title{
		font-size:1.2rem;
	}
	
}

/************************************
** 無料説明会
************************************/
#briefing {
	padding-top: 154px;
	padding-bottom: 65px;
	overflow: hidden;
}
#briefing .section-title {
	margin-bottom: 42px;
}

#briefing .item {
	display: flex;
	justify-content: space-between;
	margin-bottom: 64px;
}

#briefing .item .text {
	width: 53%;
    min-width: 300px; /* テキストの最小幅を設定 */
}
#briefing .item .text .title {
	display: flex;
	align-items: center;
	margin-bottom: 30px
}
#briefing .item .text .title-text {
	font-size: 1.7rem;
	font-weight: 700;
	color: #2670B6;
	line-height: 1.67;
	letter-spacing: 0.1em;
}
#briefing .item .text .title-icon {
	width: 146px;
	height: 108px;
	margin-right: 10px;
}

#briefing .item .youtube-container {
    width: 47%;
    min-width: 300px;
    flex-grow: 1;
}

#briefing .item .youtube-wrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9のアスペクト比 */
    overflow: hidden;
	border-radius: 10px;
	
	/* グラデーションボーダーを追加 */
	border: 8px solid transparent;
	background-image: linear-gradient(white, white), linear-gradient(to right, #ADD7FF, #FFD166);
	background-origin: border-box;
	background-clip: padding-box, border-box;
}
#briefing .item.reverse .youtube-wrapper {
	border: 8px solid transparent;
	background-image: linear-gradient(white, white), linear-gradient(to right, #FFD166, #ADD7FF);
	background-origin: border-box;
	background-clip: padding-box, border-box;
}

#briefing .item .youtube-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    /* iOSでのバグ対策のため、object-fitプロパティを削除 */
}

#briefing .item .text .description-wrapper {
    position: relative;
	padding: 25px 15px;
}

#briefing .item .text .description-wrapper::before {
    content: "";
    position: absolute;
	background: linear-gradient(to right, #C9E5FF, #FFF8E8);
    width: 100vw;
    height: 100%;
	border-radius: 10px;
    top: 0;
	right: -30%;
    z-index: -1;
    transform: translateX(calc((100% - 100vw)/2));
}

#briefing .item .text .description {
    position: relative;
    z-index: 1;
}

/* 外側のコンテナ */
.outer-container {
	width: 100%;
	max-width: 914px;
	margin: 0 auto;
	margin-bottom: 80px;
}
.outer-container:last-child {
	margin-bottom: 0px;
}

.schedule-container {
	width: 100%;
	margin-bottom: 35px;
}
.schedule-container.private-meeting {
	margin-bottom: 10px;
}
.schedule-header {
	color: #fff;
	background: linear-gradient(to right, #2670B6, #6996C0);
	text-align: center;
	padding: 10px;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.67;
	letter-spacing: 0.1em;
}
.schedule-row {
	display: flex;
	border: 2px solid #2670B6;
	border-top: none;
	align-items: center;
}

.schedule-row:first-child {
	border-top: 2px solid #2670B6;
}
.schedule-month {
	width: 50%;
	text-align: center;
	padding: 15px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
}

.schedule-details {
	width: 50%;
	display: flex;
/* 	justify-content: space-between; */
	text-align: center;
	padding: 15px;
}

.schedule-date {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	margin-right: 15px;
}

.schedule-status {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
}

/* 768px以下 */
@media screen and (max-width: 768px) {
	
	#briefing {
    	padding-top: 80px;
	}
	#briefing .section-title {
    	margin-bottom: 30px;
	}
	#briefing .item {
		flex-direction: column;
		margin-bottom: 40px;
	}
	#briefing .item .text{
		width: 100%;
		margin-bottom: 10px;
	}
	#briefing .item .text .title {
		margin-bottom: 10px;
	}
	#briefing .item .text .title-icon {
    	width: 90px;
    	height: 70px;
    	margin-right: 5px;
	}
	#briefing .item .text .title-text {
	    font-size: 1.1rem;
	}
	#briefing .item .text .description-wrapper {
	    padding: 20px;
	}
	#briefing .item .text .description-wrapper::before {
		right: -5%;
	}
	#briefing .item .youtube-container{
		width: 100%;
	}
	
	.schedule-header {
		font-size: 1.1rem;
	}
	.schedule-month {
		font-size: 1rem;
		width: 35%;
		padding: 15px 0px;
	}
	.schedule-details {
		width: 65%;
		padding: 0;
		padding-right: 10px;
	}
	.schedule-date {
		font-size: 0.8rem;
		margin-right: 0;
	}
	.schedule-status {
		font-size: 0.8rem;
	}
	
	.schedule-container {
		margin-bottom: 20px;
	}
	
	.outer-container {
		margin-bottom: 40px;
	}

	
}

/* 1024px以下 */
@media screen and (max-width: 1024px){
  /*必要ならばここにコードを書く*/
}


/************************************
** フッター
************************************/
.sns-container{
	display:flex;
	width:80%;
	justify-content:space-between;
		margin:0 auto;
	margin-top:5%;
}
.sns-contents{
	width:47%;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.youtube-box{
	border:rgb(38, 112, 182) solid 3px;
	border-radius:5px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:2%;
}
.youtube-box:hover{
	opacity:0.5;
	color:rgb(38, 112, 182);
	cursor:pointer;
}
.youtube-box img{
	width:25%;
}
.youtube-text-logo{
	display:flex;
	flex-direction:column;
	width:60%;
}
.youtube-text-logo img{
	width:80%;
	margin-top:3%;
}
.youtube-text{
	text-align:center;
}
.sns-text{
	font-size:1.2rem;
	text-align:center;
	margin:3% 0%;
}
.sns-box{
	width:60%;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.sns-box a{
	width:15%;
}
.sns-box img{
	width:100%;
	object-fit:contain;
}
.sns-box img:hover{
	opacity:0.5;
}
.note-img{
	display: flex;
    align-items: center;
	width:20% !important;
}
#footer {
/* 	background: linear-gradient(to top, #B4D9FD, #FFFFFF); */
	background: linear-gradient(to top, #B4D9FD, #FFFFFF);
	padding-top: 84px;
}
#footer .footer-container {
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}
#footer .nav-icon-area {

}
#footer .icon-area {
	display: flex;
	align-items: center;
	margin-bottom: 40px;
}

#footer .logo-1 {
/*   width: 15%; */
	display:block;
	width: 90px;
	line-height: 0;
	margin-right: 58px;
	transition: all 0.4s;
}
#footer .logo-1:hover {
	opacity: 0.7;
}
#footer .logo-2 {
	display:block;
	width: 161px;
	line-height: 0;
	transition: all 0.4s;
}
#footer .logo-2:hover {
	opacity: 0.7;
}
#footer .navi {
	background-color: transparent;
}
#footer .navi .menu {
	display: flex;
	align-items: center;
	color: #193378;
}
#footer .navi .menu > li {
	margin-left: 40px;
}
#footer .navi .menu > li:first-child {
	margin-left: 0;
}
#footer .navi .menu li {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
}

#footer .navi .menu .navi-link {
	transition: all 0.4s ease;
}
#footer .navi .menu .navi-link:hover {
	color: #FFD166;
}

#footer .btn-area {
	/**2つのボタンを縦並びにする*/
	display: flex;
	flex-direction: column;
}

#footer .btn-area .btn-line {
	margin-bottom: 20px;
}

#footer .site-copyright-notice {
	text-align: center;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	padding-bottom: 10px;
	color: #fff;
}



/*********** 画面下部の固定メニュー：スマホ時だけ表示する ********/
.fixed-footer {
	width: 100%;
/* 	background-color: #FAF9F6; */
/* 	background-color: rgba(0, 0, 0, 0.1); */
	
	display: none;
	align-items: center;
	justify-content:space-around;
	
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
}

.fixed-footer-btn {
	width: 33%;
	font-size: 1rem;
	
	display: inline-flex;
    align-items: center;
    justify-content: center;
	padding: 10px 3px;
	font-weight: 700;

    color: #fff;
    text-align: center;
	transition: all 0.4s;

	border: none;
	cursor: pointer;
	position: relative;
	top: 0;
	left: 0;
	letter-spacing: 0.05em;
}
.fixed-footer-contact-btn {
	background: linear-gradient(to right, #FFD166, #FFD99A);
}

.fixed-footer-seminar-btn {
	background: linear-gradient(to right, #2670B6, #2FB0D9);
}
.fixed-footer-line-btn{
	background-color:#06C755;
}
.fixed-footer-btn:hover {
	box-shadow: none;
	color: #fff;
	top: 4px;
	left: 4px;
	opacity: 1;
}
/* メールボタン用スタイル */
.fixed-footer-btn i {
	color: #fff;
    margin-right: 5px;
    font-size: 20px;
    transition: all 0.4s;
    display: inline-block;
    transform: scale(1, 0.806); /* 高さを約80.6%に縮小（29÷36=0.806） */
    transform-origin: center; /* 変形の基準点を中央に */
}
.fixed-footer-line-btn i{
}
/* 矢印アイコン 
.fixed-footer-seminar-btn::after {
    content: "→";
    margin-left: 0px;
    font-size: 1.25rem;
    transition: all 0.4s;
}
*/
@media screen and (max-width: 1024px) {
	.sns-container{
		width:90%;
	}
	
}


/******* フッター　768px以下 ****/
@media screen and (max-width: 768px) {
	
	#footer {
		padding-top: 40px;
	}
	#footer .footer-container {
		flex-direction: column;
		align-items: center;
	}
	#footer .icon-area {
		justify-content: space-around;
	}
	#footer .logo-1 {
		width: 70px;
		margin-right: 0px;
	}
	#footer .logo-2 {
	    width: 131px;
	}
	#footer .navi .menu {
		margin-bottom: 40px;
	}
	#footer .btn-area {
		display: flex;
		/*justify-content: center;
		width: 100%; */
	}
	#footer .btn-area{
		flex-direction:row;
		width: 70%;
        justify-content: space-around;

	}
	#footer .btn-area .btn-line{
		margin-bottom:0px;
	}
	#footer .logo-1 {
		width: 70px;
		margin-right: 0px;
	}
	#footer .navi .menu li {
		font-size: 1rem;
	}
	#footer .navi .menu > li {
    	margin-left: 30px;
	}
	
	#footer .site-copyright-notice {
		font-size: 0.8rem;
	}
	
	/**** フッター下部の固定メニューを表示させるためのコード ****/
	
}

@media screen and (max-width: 599px) {
	.fixed-footer {
    	display: flex;
  	}
	.sns-container{
		flex-direction:column;	
	}
	.sns-contents{
		width:100%;
		margin:0 auto;
	}
	.sns-text{
		font-size:1rem;
	}
	.fixed-footer-btn{
		font-size:0.8rem;
	}
	.fixed-footer-btn{
		font-size:0.8rem;
		height:7vh;
	}
	.fixed-footer-line-btn i{
		font-size:16px;
	}
	.sns-contents{
		margin-bottom:10%;
	}
	.youtube-text{
		font-size:0.8rem;
	}
	#footer .btn-area{
		width:95%;
		justify-content:space-between;
	}
	#footer .btn{
		font-size:0.8rem;
		width:45%;
	}
}

/************************************
** 固定ページ_共通設定
************************************/
#page-main-visual {
	padding-top: 111px;
	width: 100%;
	position: relative;
}
#page-main-visual img {
	width: 100%;
	min-height: 220px;
    object-fit: cover;
}
#page-main-visual .text {
	position: absolute;
	left: 0;
	bottom: 40px;
	color: #fff;
	font-size: 2.4rem;
    font-weight: 700;
	/*** 文字背景色の太さを調節 **/
    line-height: 2.2;
    letter-spacing: 0.2em;
}
#page-main-visual .text .text-bg {
	background-color: #2670B6;
	padding-left: 80px;
	padding-right: 40px;
	display: inline-block;
}
/*********************************************
 固定ページ共通設定_レスポンシブ対応(タブレット) 
***********************************************/
@media screen and (max-width: 1024px) {
	
	/** メインビジュアル画像 **/
	#page-main-visual .text {
		font-size: 1.8rem;
	}	
}

/*******************************************
 サポートページ レスポンシブ対応(900px) 
********************************************/
@media screen and (max-width: 900px) {
	#page-main-visual {
		padding-top: 8vh;
	}

}


/*******************************************
 サポートページ レスポンシブ対応(スマホ) 
********************************************/
@media (max-width: 768px) {
	
	#page-main-visual .text {
		font-size: 1.3rem;
		bottom: 20px;
		line-height: 2;
	}
	#page-main-visual .text .text-bg {
		padding-left: 40px;
		padding-right: 20px;
	}
	
}

/*******************************************
 サポートページ レスポンシブ対応(px) 
********************************************/
@media screen and (max-width: 600px) {
	
	/* リボン */
	.support-card .card-ribbon {
		width: 94px;
		height: 46px;
		top: -15px;
		left: -3px;
	}
	.support-card .card-number {
		font-size: 2.4rem;
	}
	
}

/*******************************************
 サポートページ レスポンシブ対応(399px) 
********************************************/
@media screen and (max-width: 399px) {
	
	#support-main-visual {
		padding-top: 10vh;
	}
	


	
}

/************************************
** サポートページ メインビジュアルの下部
************************************/
#support-main-visual-bottom {
	padding-top: 56px;
	padding-bottom: 113px;
	overflow: hidden;
}
#support-main-visual-bottom .section-title-support {
	font-size: 2rem;
	line-height: 1.5;
	color: #2670B6;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 60px;
}

#support-main-visual-bottom .item {
	display: flex;
	justify-content: center;
}

#support-main-visual-bottom .item .img {
	width: 48%;
    min-width: 300px;
    flex-grow: 1;
}
#support-main-visual-bottom .item .text {
	width: 50%;
    min-width: 300px;
	margin-left: 2%;
}
#support-main-visual-bottom .item .text .title {
	display: flex;
	align-items: center;
	margin-bottom: 2%;
}
#support-main-visual-bottom .item .text .title .icon {
	width: 82px;
	min-width: 60px;
    height: 66px;
    margin-right: 10px;
}
#support-main-visual-bottom .item .text .title .title-text {
	font-size: 1.7rem;
    font-weight: 700;
    color: #2670B6;
    line-height: 1.67;
    letter-spacing: 0.1em;
}
#support-main-visual-bottom .item .text .description-wrapper {
	position: relative;
    padding: 25px 15px;
}
#support-main-visual-bottom .item .text .description-wrapper::before {
	content: "";
    position: absolute;
    background-color: #FFF2D5;
    width: 200vw;
    height: 120%;
    border-radius: 10px;
    top: 0px;
	left: -30%;
	z-index: -1;
}
#support-main-visual-bottom .item .text .description-wrapper .description {
	line-height: 2.5;
	position: relative;
	z-index: 1;
}

/************************************
** 提供サービス一覧
************************************/
#support-services {
/* 	padding-top: 113px; */
	padding-bottom: 130px;
}
#support-services .section-title {
	margin-bottom: 50px;
}

.support-card {
	border-radius: 10px;
/* 	overflow: hidden; */
	background: linear-gradient(135deg, #ADD7FF 0%, #F7FBFF 100%);
	padding: 12px;
	position: relative;
}

/****** リボンの装飾 **********/
.support-card .card-ribbon {
	position: absolute;
	width: 133px;
	height: 64px;

	/* 必要に応じて位置調整 */
	top: -15px;
	left: -15px;
	z-index: 1;
}
.support-card .card-number {
	font-family: "Norican", cursive;
	font-size: 3.3rem;
	color: #fff;
	line-height: 1;
	letter-spacing: 0.1em;
	/** 上下真ん中にするための調節 **/
	margin-top: 3px;	
}
/* 内側の要素（背景色と切り抜き） */
.support-card .card-ribbon-inner {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #FFD166;
	/* 90% の部分を調節する */
	clip-path: polygon(0 0, 100% 0, 90% 50%, 100% 100%, 0 100%);
	z-index: 3;
	/* 番号を真ん中に配置するための指定 */
	display: flex;
	align-items: center;
	justify-content: center;
}
/* 内側の要素より少し大きくして（calc(100% + 2px)）、ボーダーとして見えるようにします */
.support-card .card-ribbon::before {
	content: '';
	position: absolute;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	background-color: #BE8500;
	/* 90% の部分を調節する */
	clip-path: polygon(0 0, 100% 0, 90% 50%, 100% 100%, 0 100%);
	top: -1px;
	left: -1px;
	z-index: 2;
}


.support-card__img-wrapper {
  position: relative;
  padding-top: 60%;
  overflow: hidden;
  border-radius: 10px;
}

.support-card__img {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
}

.support-card__body {
	padding: 12px;
}

.support-card__body > *:last-child {
  margin-bottom: 0;
}

.support-card__title {
	text-align: center;
	font-size: 1.1rem;
	font-weight: 700;
	color: #2670B6;
	line-height: 1.5;
	letter-spacing: 0.05em;
	margin-bottom: 20px;
	margin-top: 10px;
}

.support-card__text {
    line-height: 1.875;
	letter-spacing: 0.05em;
}

.support-card__text .color-red {
	color: #ff0000;
	font-weight: 700;
}


.support-cards {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.support-cards--col3 {
	/* 2列目(最後の列)のカードの下には余白を与えないように指示 */
	margin-bottom: -86px;
}

.support-cards--col3 > .support-cards__item {
	width: 31.73333%;
	margin-right: 2.4%;
	margin-bottom: 86px;
}

.support-cards--col3 > .support-cards__item:nth-of-type(3n) {
  margin-right: 0;
}


/*********************************************
 サポートページ レスポンシブ対応(タブレット) 
***********************************************/
@media screen and (max-width: 1024px) {
	
	/** メインビジュアル画像 **/
	#support-main-visual .text {
		font-size: 1.8rem;
	}
	
	/** メインビジュアル直下のエリア **/
	#support-main-visual-bottom {
		padding-top: 40px;
		padding-bottom: 60px;
	}
	#support-main-visual-bottom .section-title-support {
		font-size: 1.6rem;
		margin-bottom: 30px;
	}
	
	#support-main-visual-bottom .item {
		flex-direction: column;
	}
	#support-main-visual-bottom .item .img {
		width:100%;
	}
	#support-main-visual-bottom .item .text {
		width: 100%;
		margin-left: 0px;
		margin-top: 2%;
	}
	#support-main-visual-bottom .item .text .title .icon {
		width: 60px;
		height: 60px;
	}
	#support-main-visual-bottom .item .text .title .title-text {
		font-size: 1rem;
	}
	#support-main-visual-bottom .item .text .description-wrapper {
		padding: 20px;
	}
	
	/* 薄い黄色の背景色 */
	#support-main-visual-bottom .item .text .description-wrapper::before {
		width: 115vw;
		height: 95%;
		top: 0px;
		left: -21%;
	}
	
	
	/**** 提供サービス一覧のレスポンシブ対応 (タブレット) ****/
	#support-services {
		padding-bottom: 60px;
	}
	#support-services .section-title {
		margin-bottom: 30px;
	}
	
	/** カードのレスポンシブ対応(タブレット) **/
	.support-cards--col3 {
		margin-bottom: -40px;
	}
	.support-cards > .support-cards__item {
		width: 100%;
		margin-right: 0;
		margin-bottom: 40px;
	}
	.support-card__img-wrapper {
	    padding-top: 60%;
	}
	
	/* リボン(1024) */
	.support-card .card-ribbon {
		width: 110px;
		height: 60px;
		top: -15px;
		left: -10px;
	}
	.support-card .card-number {
		font-size: 3rem;
	}
	
}

/*******************************************
 サポートページ レスポンシブ対応(900px) 
********************************************/
@media screen and (max-width: 900px) {
	#support-main-visual {
		padding-top: 8vh;
	}

}


/*******************************************
 サポートページ レスポンシブ対応(スマホ) 
********************************************/
@media (max-width: 768px) {
	
	#support-main-visual .text {
		font-size: 1.6rem;
		bottom: 20px;
		line-height: 2;
	}
	#support-main-visual .text .text-bg {
		padding-left: 40px;
		padding-right: 20px;
	}
	
	
	#support-main-visual-bottom .section-title-support {
		font-size: 1.2rem;
	}
	
	/*カードレスポンシブ対応(スマホ)**/
	.support-card__body {
	    padding: 15px 15px 20px;
	}
	.support-card__title {
		margin-bottom: 10px;
		font-size: 1rem;
	}
	
	
}

/*******************************************
 サポートページ レスポンシブ対応(px) 
********************************************/
@media screen and (max-width: 600px) {
	
	/* リボン */
	.support-card .card-ribbon {
		width: 94px;
		height: 46px;
		top: -15px;
		left: -3px;
	}
	.support-card .card-number {
		font-size: 2.4rem;
	}
	
}

/*******************************************
 サポートページ レスポンシブ対応(399px) 
********************************************/
@media screen and (max-width: 399px) {
	
	#support-main-visual {
		padding-top: 10vh;
	}
	


	
}

/*******************************************
新着情報ページ 
********************************************/

.pagination-wrapper{
	display:flex;
	justify-content:space-between;
	width:40%;
	margin:auto;
}
.page-numbers {
    display: flex !important;
    width: 100% !important;
	justify-content: space-between;
	border: none !important;
}
.page-numbers li{
	width:30%;
	display:flex;
	justify-content:center;
}
.page-numbers li a{
	width: 100% !important;
    margin: auto;
    display: flex !important;
    justify-content: center;
	border:1px solid lightgray !important;
}
.page-numbers span{
	width: 100% !important;
    margin: auto;
    display: flex !important;
    justify-content: center;
	border:1px solid lightgray !important;
}
/*******************************************
新着情報ページ_タブレット
********************************************/
@media screen and (max-width: 1024px) {
	
}

/*******************************************
新着情報ページ_スマホ
********************************************/
@media screen and (max-width: 599px) {
	.pagination-wrapper{
		width:75%;	
	}
}
/*******************************************
個別投稿ページ_
********************************************/
.post-mainvisual{
	
	width:70%;
	margin:0 auto;
	margin-top:10%;
}
.post-mainvisual img{
	border-radius:0px;
}
.post-content{
	width:90%;
	margin:0 auto;
	margin-top:5%;
	margin-bottom:5%;
}
.post-title{
	font-size:2rem;
	font-weight:bold;
	color:#2670B6;
	margin-bottom:3%;
}
/*******************************************
個別投稿ページ_iPad
********************************************/
@media screen and (max-width: 1024px) {
		.post-mainvisual{
		margin-top:15%;
	}
	.post-title{
		font-size:1.5rem;
	}
	.post-mainvisual{
		width:90%;
	}
}
@media screen and (max-width: 599px) {
	.post-mainvisual{
		margin-top:20%;
	}
	.post-title{
		font-size:1.2rem;
	}
	.post-mainvisual{
		width:95%;
	}
	.post-content{
		width:95%;
		font-size:0.8rem;
	}
	
}
/*******************************************
お問い合わせページ
********************************************/
.contact-message{
	font-size:1.5rem;
	color:#2670B6;
	font-weight:bold;
	width:90%;
	text-align:center;
	margin:3% auto;
}
.contact-page-form{
	width:70%;
	margin: 0 auto;
	color:#333;
	margin-bottom:5%;
}
.contact-page-form input {
	border:solid 1px #333 !important;
}
.contact-page-form select {
	border:solid 1px #333 !important;
}
.contact-page-form textarea {
	border:solid 1px #333 !important;
}
.must-area{
	color:white;
	padding:0.5% 3%;
	border-radius:5px;
	background-color:#d00;
	margin-left:3%;
	font-size:0.8rem;
}
.contact-title-area{
	width:30%;
	display:flex;
	align-items:center;
}
input::placeholder{
	color:lightgray;
}
select{
	color:#656565;
}
.contact-page-form .wpcf7-form label{
	display:flex;
	justify-content:space-between;
	margin:auto;
	font-size:1.3rem;
	margin-bottom: 3%;
}
.contact-title-area.text-area{
	align-items:flex-start;
}
.contact-page-form .wpcf7-form-control-wrap{
	width:65%;	
}
.contact-page-form .wpcf7-form-control.wpcf7-submit.has-spinner{
	width:30%;
	margin:auto;
	border-radius:10px;
	border:none !important;
	display: block;
	color:white;
	font-size:1.5rem;
	background: linear-gradient(to right, #2670B6, #2FB0D9);
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
	transition: all 0.2s ease-in-out;
}
.contact-page-form .wpcf7-form-control.wpcf7-submit.has-spinner:hover{
	box-shadow: none;
    transform: translateY(5px);
	transform: translateX(5px);
}
/*******************************************
お問い合わせページ_iPad
********************************************/
@media screen and (max-width: 1024px) {
	.contact-page-form .wpcf7-form-control.wpcf7-submit.has-spinner{
		width:50%;
	}
	.contact-page-form .wpcf7-form label{
		font-size:1.1rem;
	}
	.contact-page-form{
		width:90%;
	}
	.contact-message{
		font-size:1.2rem;	
	}
}
/*******************************************
お問い合わせページ_スマホ
********************************************/
@media screen and (max-width: 599px) {
	.contact-message{
		font-size:1rem;
	}
	.contact-page-form .wpcf7-form label{
		flex-direction:column;
		margin-bottom:5%;
		font-size:1rem;
	}
	.contact-page-form .wpcf7-form-control-wrap {
    	width: 100%;
	}
	.contact-page-form .wpcf7-form-control.wpcf7-submit.has-spinner{
		width:100%;
		font-size:1rem;
	}
	.contact-page-form .contact-contents{
		width:90%;
	}
	.contact-page-form input[type=email]{
		border-radius:0px;
	}
	.contact-title-area{
		width:100%;
		        margin-bottom: 1%;
	}
	.contact-page-form .wpcf7-form label{
		font-size:0.9rem;
	}
	.must-area{
		font-size:0.7rem;
	}
	
}